0pts请大佬们帮忙,谢谢。
查看原帖
0pts请大佬们帮忙,谢谢。
726902
bcbgszyzh楼主2023/9/30 21:42

code:(cpp11 o2)

#include<bits/stdc++.h>
using namespace std;
struct tic{
	int price,last;bool used;
};
tic a[100010];
int main(){
    bool bus;
    int t,pri,x=1,y=0,n,sum=0;
    scanf("%d",&n);
    for(int i=1;i<=n;++i){
    	scanf("%d%d%d",&bus,&pri,&t);
    	if(!bus){
    		++y;
    		a[y].last=t+45;
    		a[y].price=pri;
    		a[y].used=0;
    		sum+=pri;
		}else{
			bool can=1;
			int nx=x;
			for(int j=x;j<=y;++j){
				if(a[j].last<t){
					nx=j;
					continue;
				}
				if(a[j].price>=pri&&a[i].used==0){
					can=0;
					a[j].used=1;
					break;
				}
			}
			sum+=can*pri;
		}
	}
	printf("%d",sum);
    return 0;
}
2023/9/30 21:42
加载中...