#排队干饭#acwing#复旦大学机试

提示:本代码并未通过极限情况下的测试用例(10000个数据),因为vector申请的内存空间过大,其他使用数组的题解均有这种情况

链接https://www.acwing.com/problem/content/description/5063/

#include <iostream>
#include <cstdio>
#include <vector>

using namespace std;

int main(){
    int n;
    int ai,bi,ti;
    vector<int> veca,vecb,vect;//到达时间,等待时间,打饭时间
    int cur_time;//记录当前时间
    scanf("%d",&n);
    while(scanf("%d%d%d",&ai,&ti,&bi)!=EOF){
        veca.push_back(ai);
        vect.push_back(ti);
        vecb.push_back(bi);
    }
    cur_time=veca[0];
    for(int i=0;i<n;i++){
        if(cur_time<=veca[i]) cur_time=veca[i];
        if(cur_time<=veca[i]+vecb[i]){ //下个同学可以打饭
            printf("%d ",cur_time);
            cur_time+=vect[i];
        }
        else {
            printf("-1 ");
        }
    }
    return 0;
}

全部评论

相关推荐

09-01 11:31
门头沟学院 Java
buul:七牛云的吧,感觉想法是好的,但是大家没那么多时间弄他这个啊。。。不知道的还以为他是顶尖大厂呢还搞比赛抢hc,只能说应试者的痛苦考察方是无法理解的,他们只会想一出是一出
点赞 评论 收藏
分享
09-08 17:17
同济大学 Java
狗不理fe:里面的人劝一句,别来虾,我们部门24校招生淘汰率30%,还有一些人说有一年保护期,不可能!!!
我的秋招日记
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务