Cashier (codeforces 1059A)

题目倒是不难注意第一个时间段可能不是从零开始的,所以注意第一个时间的开始节点与零之间可能存在休息的时间

还有这个题我打的时候一直谜之RE。。。。。。发现原来bool函数忘记写return了。。。。。以后一定主函数也写上,return 0;也写上

#include <bits/stdc++.h>
using namespace std;
struct node
{
    int l,coss;
}p[1000100];
bool cmp(node aa,node bb)
{
    return aa.l<bb.l;
}
main()
{
    memset(p,0,sizeof(p));
    ios_base::sync_with_stdio(0);
    cin.tie(NULL);
    int n,L,a;
    cin>>n>>L>>a;
    for(int i=0;i<n;i++)
    cin>>p[i].l>>p[i].coss;
    //sort(p,p+n,cmp);
    int ans=0;
    ans+=p[0].l/a;
    for(int i=0;i<n-1;i++)
    {
        if(p[i].l+p[i].coss<p[i+1].l)
        ans+=(p[i+1].l-p[i].coss-p[i].l)/a;
    }
    if(n!=0)
    ans+=(L-p[n-1].l-p[n-1].coss)/a;
    else
    ans+=L/a;
    cout<<ans;  
} 

猜你喜欢

转载自www.cnblogs.com/baccano-acmer/p/9746761.html