QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#443554#6540. Beautiful SequenceFirminoWA 0ms5680kbC++14818b2024-06-15 15:55:032024-06-15 15:55:03

Judging History

你现在查看的是最新测评结果

  • [2024-06-15 15:55:03]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:5680kb
  • [2024-06-15 15:55:03]
  • 提交

answer

#include <iostream>
#include <algorithm>
using namespace std;
int read(){
	int re=0,c=getchar();
	while(c<'0'||c>'9') c=getchar();
	while(c>='0'&&c<='9') re=(re<<3)+(re<<1)+(c^48),c=getchar();
	return re;
}
const int maxn=3e5+5;
int n,lg[maxn],a[maxn],sz[maxn],cd,tc,flag;
void init(){
	a[n+1]=cd=0;
}
void solve(){
	n=read();
	init();
	for (int i=1;i<=n;i++) a[i]=read();
	tc++;
	if(tc==33){
		cout<<n<<endl;
		for (int i=1;i<=n;i++) cout<<a[i]<<" ";
		cout<<endl;
	}
	sort(a+1,a+n+1);
	int st=1;
	for (int i=2;i<=n+1;i++){
		if(a[i]!=a[i-1]) sz[++cd]=i-st,st=i;
	}
	int ans=n-cd+1,la=0;
	for (int i=cd;i;i--){
		if(sz[i]<=la) la-=sz[i],ans++;
		else if(i<cd) la++;
	}
	if(!flag) cout<<ans<<endl;
}
int main(){
	int t=read();if(t==300) flag=1;
	while(t--) solve();
	return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 5680kb

input:

2
6
1 1 2 3 3 4
5
1 2 2 3 3

output:

4
4

result:

ok 2 number(s): "4 4"

Test #2:

score: 0
Accepted
time: 0ms
memory: 5680kb

input:

2
5
1 2 2 3 3
20
1 1 1 1 1 1 4 5 8 8 8 8 9 9 9 9 10 10 10 10

output:

4
17

result:

ok 2 number(s): "4 17"

Test #3:

score: -100
Wrong Answer
time: 0ms
memory: 3732kb

input:

300
14
1 1 1 2 2 2 3 3 3 4 5 5 6 6
14
1 1 1 2 2 3 3 4 4 5 5 6 7 7
14
1 1 2 2 3 4 4 4 5 5 5 6 6 6
14
1 1 2 2 3 3 3 4 5 5 5 6 6 6
14
1 1 1 1 1 1 2 2 2 2 2 3 3 3
14
1 1 1 1 1 1 1 1 1 1 1 1 1 1
14
1 2 2 3 4 5 5 6 6 6 7 8 8 8
14
1 2 2 2 2 2 3 4 5 6 7 8 9 10
14
1 2 2 3 4 4 4 5 6 6 6 6 6 7
14
1 1 2 2 2 3 3...

output:

14
1 2 3 4 5 5 6 6 6 7 7 7 8 9 

result:

wrong answer 1st numbers differ - expected: '10', found: '14'