45分TLE求救
查看原帖
45分TLE求救
705296
miffy_123楼主2023/1/19 14:46
#include <bits/stdc++.h>
using namespace std;
int read(){
	int f=1,k=0;
	char c;
	c=getchar();
	while(c<'0'||c>'9'){
		if(c=='-'){
			f=-1;
		}
		c=getchar();
	}
	while(c>='0'&&c<='9'){
		k=(k<<1)+(k<<3)+(c^48);
		c=getchar();
	}
	return f*k;
}
int ans;
map<int,int>mp;
int main(){
    int n;
	n=read();
	for(int i=0;i<n;i++){
		int a,p,t;
		a=read();
		p=read();
		t=read();
		if(a==0){
			ans+=p;
			mp[t]=p;
		}
		else{
			int sta;
			int des;
			des=t;
			sta=max(0,des-45);
			for(int i=sta;i<des;i++){
				if(mp[i]>=p){
					mp[i]=0;
					goto hello;
				}
			}
			ans+=p;
			hello:;
		}
	}
	printf("%d",ans);
    return 0;
}
2023/1/19 14:46
加载中...