社区讨论

0ptsRE求条玄关

P3143[USACO16OPEN] Diamond Collector S参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mliw8t8s
此快照首次捕获于
2026/02/12 11:23
上周
此快照最后确认于
2026/02/14 16:50
5 天前
查看原帖
没座,我又回来了。
md,3页题解愣是没一个我看得懂的,而且数据范围没问题,居然RE。。。
CPP
#include<bits/stdc++.h>
#define ll long long
#define db double
#define endl '\n'
#define int register int
#define AKIOI ios::sync_with_stdio(false);cin.tie(0),cout.tie(0)
#define AKNOI return 0;
#define db double
using namespace std;
const ll MAXN=50005;
ll n,k,p,dia[MAXN],maxn=LLONG_MIN,res;
struct member{
	ll l,r,length;
}line[MAXN];
inline bool cmp(member p,member q){
	return p.length>q.length;
}
inline bool becovered(member p,member q){
	if(p.l>q.l) swap(p,q);
	if(p.r>q.r) return true;
	else return false;
}
signed main(){
	AKIOI;
	cin>>n>>k;
	for(int i=1;i<=n;i++) cin>>dia[i];
	sort(dia+1,dia+n+1);
	for(int le=1;le<=n;le++){
		if(le>1&&dia[le]==dia[le-1]) continue;
		for(int ri=n;ri>=le;ri--){
			if(ri-le<=k) line[++p]=member{le,ri,ri-le+1};
		}
	}
	sort(line+1,line+p+1,cmp);
	for(int i=1;i<=p;i++){
		for(int j=i+1;j<=p;j++){
			if(becovered(line[i],line[j])){
				continue;
			}
			else{
				cout<<line[i].length+line[j].length;
				AKNOI;
			}
		}
	}
	AKNOI;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...