C

#include<bits/stdc++.h>
using namespace std;
const int MAX_N=4010;

int n;
long long d[MAX_N],p[MAX_N],v[MAX_N];
int cure[MAX_N];

int main()
{
    freopen("C.in","r",stdin);
    while(~scanf("%d",&n)){
        int ans=0;
        for(int i=0;i<n;i++){
            scanf("%I64d%I64d%I64d",&v[i],&d[i],&p[i]);
        }
        for(int i=0;i<n;i++){
            if(p[i]<0) continue;
            cure[ans++]=i+1;
            long long cur=v[i],extra=0;
            for(int j=i+1;j<n;j++){
                if(p[j]<0) continue;
                p[j]-=(cur+extra);
                if(p[j]<0) extra += d[j];
                if(cur>0) cur--;
            }
        }
        printf("%d\n",ans);
        for(int i=0;i<ans;i++){
            printf("%d ",cure[i]);
        }
        printf("\n");
    }
    return 0;
}
View Code

相关文章:

  • 2021-10-29
  • 2021-11-28
  • 2021-06-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-10-06
  • 2021-11-21
  • 2022-01-21
  • 2020-01-15
  • 2022-01-12
  • 2021-05-28
相关资源
相似解决方案