其他分享
首页 > 其他分享> > Contest Is Over - Codeforces 比赛记录

Contest Is Over - Codeforces 比赛记录

作者:互联网

CF#768(Div.2)
CF只有两个小时的比赛时间,一旦出了点“小”差错 基本就废了
B题后来按照扭曲的题意想了好久一直WA,1h ran out很慌地看了C并A了
后来发现B实在简单很后悔又把B A了,然而比赛还剩18min,我还在rk2800
想着有没有可能把D做了 但看到standings上人均30min才A掉 于是感觉不大可能
比赛前9min有了思路并且显然正确,赶着写,但debug时Contest is over显示在屏幕上 宣告结束
又一次下分 看来这种高强度考场环境还是要多多参加益善!再下几次分看看表现会不会好些吧
附D题纪念比赛结束后6min自认为可以A的code,等可以提交了再提交以下

#include <bits/stdc++.h>
using namespace std;
const int N=2e5+5;
int n,k,a[N],bu[N];
void sol(){
	cin>>n>>k;for(int i=1;i<=n;i++)bu[i]=0;
	for(int i=1;i<=n;i++)cin>>a[i],bu[a[i]]++;
	int cnt=0,x=0,y=1e9;
	for(int i=1,j=1;i<=n;i++){
		while(j<=n&&cnt-(n-cnt)<k)cnt+=bu[j],j++;
		if(cnt-(n-cnt)>=k){
			if(j-i<y-x)x=i,y=j;
			
		}cnt-=bu[i];
	}cout<<x<<' '<<y-1<<'\n';
			int c=0,las=0;
			for(int o=1;o<=n;o++){
				c+=(x<=a[o]&&a[o]<=y);
				if(c>(o-c)&&k!=1){k--;cout<<las+1<<' '<<o<<'\n';las=o;c=0;}
			}cout<<las+1<<' '<<n<<'\n';
}
int main(){int t;cin>>t;while(t--)sol();}

标签:比赛,Contest,int,Over,Codeforces,sol,--,bu
来源: https://www.cnblogs.com/impyl/p/15851710.html