刷題統計
問題描述
小明決定從下周一開始努力刷題準備藍橋杯競賽。他計劃周一至周五每天做?a?道題目,周六和周日每天做?b?道題目。請你幫小明計算,按照計劃他將在第幾天實現做題數大于等于?n?題?
輸入格式
輸入一行包含三個整數?a,?b?和?n。
輸出格式
輸出一個整數代表天數。
樣例輸入
18 28 99
樣例輸出
8
評測用例規模與約定
- 對于 50% 的評測用例,1≤a,b,n≤10^6。
- 對于 100% 的評測用例,1≤a,b,n≤10^18。
思路:
數據很大,暴力只有50分,所以優化一下就是直接求出有多少周,再求剩下的天數
代碼:
?
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(void)
{ll a,b,n;cin >> a >> b >> n;ll num[] = {0,a,a,a,a,a,b,b}; ll T_sum = a*5+2*b;ll T = n / T_sum;ll t1 = 7*T;ll SPC = n - (T*5*a+T*2*b);//剩下的題數ll sum = 0,pos = 1,t2 = 0;while(SPC > 0){SPC -= num[pos];pos++;t1++;if(pos == 8)pos = 1;}ll ans = t1;cout << ans << endl; return 0;}