2018 ACM-ICPC 亚洲青岛区域赛 J题 Press the Button

当时开这道题的时候已经只剩最后一个小时了,有bug没找到,结果饮恨
后来补的时候发现的几个小bug。

题目链接(http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4056)

代码:

#include
#define LL long long
using namespace std;
vectorv;
int main(){
    int T;
    scanf("%d",&T);
    while(T--){
        v.clear();
        LL a,b,c,d,V,t;
        scanf("%lld%lld%lld%lld%lld%lld",&a,&b,&c,&d,&V,&t);
        LL tmp  = (a*c)/__gcd(a,c);
        LL last = t-(t/tmp)*tmp;
        for(int i = 0;i*a<=min(tmp,t);i++){
            v.push_back(i*a);
        }
        for(int i = 0;i*c<=min(tmp,t);i++){
            v.push_back(i*c);
        }
        sort(v.begin(),v.end());
        LL tou = 0;
        LL tt = 0;
        for(int i = 1;i2*V+1){
                tou ++;
                if(tmp < t && v[i] < last){
                    tt++;
                }
            }
        }
        LL ans;
        if(tmp

另外这几个样例送给大家debug:

/**
100
8 2 5 1 2 18
8 2 5 1 2 40
8 2 5 1 2 58
8 2 5 1 2 80
8 2 5 1 2 98
*/

你可能感兴趣的:(题解)