2 条题解
-
0
#include<bits/stdc++.h> using namespace std; long long n,jt,pricei,ti,zq,a[100100],b[100100],c[100100],t,nn;//nn是能用 bool p; int main() { cin>>n; nn=1; for(int i=1;i<=n;i++) { cin>>jt>>pricei>>ti; if(jt==0) { zq+=pricei; a[++t]=ti+45; b[t]=pricei; } else { p=false; for(int j=nn;j<=t;j++) { if(a[j]<ti) { nn++; continue; } else { if(b[j]>=pricei) { b[j]=0; p=true; break; } } } if(p==false) zq+=pricei; } // cout<<zq<<'\n'; // printf("nn = %lld,t = %lld\n", nn, t); } cout<<zq; }
-
0
#include <bits/stdc++.h> //#define int long long using namespace std; int n,k,ans; struct metro { int price; long long time; } a[100001]; int main() { int choose=1; bool p=false; cin>>n; for (int i=1;i<=n;i++) { int su,pr,ti; cin>>su>>pr>>ti; if (su==0) {//乘坐地铁的时候 ans=ans+pr; a[++k].price=pr; a[k].time=ti; } else {//乘坐公交车的时候 p=false; for (int j=choose;j<=k;j++) {//选择票 if (ti-a[j].time>45) { choose=j+1; continue; } if (a[j].price>=pr) { p=true; a[j].price=0; break; } } if (!p) ans=ans+pr; } } cout<<ans; return 0; }
- 1
信息
- ID
- 477
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- (无)
- 递交数
- 31
- 已通过
- 22
- 上传者