竞赛讨论区 > 说句闲话:研究 CCF 本质的最好方法是

说句闲话:研究 CCF 本质的最好方法是

头像
Meatherm
发布于 2019-11-16 21:28:56 APP内打开
赞 0 | 收藏 0 | 回复1 | 浏览532
看看它的大样例

三个样例都过了,0 分

现在比赛的样例都这么没水平 & 强度了吗

求大佬捉虫

# include <bits/stdc++.h>
# define rr register
const int N=200010;
struct Node{
	int opt,val,st;
}a[N];
std::vector <int> canuse[N];
bool use[N];
int n;
int ans;
inline int read(void){
	int res,f=1;
	char c;
	while((c=getchar())<'0'||c>'9')
		if(c=='-')f=-1;
	res=c-48;
	while((c=getchar())>='0'&&c<='9')
		res=res*10+c-48;
	return res*f;		
}
int main(void){
//	freopen("transfer.in","r",stdin);
//	freopen("transfer.out","w",stdout);
	n=read();
	for(rr int i=1;i<=n;++i){
		a[i].opt=read(),a[i].val=read(),a[i].st=read();
	}
	for(rr int i=1;i<=n;++i){
		for(rr int j=i+1;a[j].st-a[i].st<=45&&j<=n;++j){
			canuse[j].push_back(i);
		}
	}
	for(rr int i=1;i<=n;++i){
		if(a[i].opt==0){
			ans+=a[i].val;
		}else{
			int siz=canuse[i].si***time=INT_MAX,srat=-1;
			for(rr int j=0;j<siz;++j){
				if(a[i].st-a[canuse[i][j]].st<=45&&a[canuse[i][j]].st<mintime&&!use[canuse[i][j]]&&a[canuse[i][j]].val>=a[i].val){
					mintime=a[canuse[i][j]].st,srat=canuse[i][j];
				}
			}
			if(srat==-1){
				ans+=a[i].val;
			}else{
				use[srat]=true;
			}
		}
	}
	printf("%d",ans);
	
	return 0;
} 


1条回帖

回帖
加载中...
话题 回帖

本文相关内容

近期热帖

等你来战

查看全部

热门推荐