求助,9个WA1个TLE,发现错误但是没改出来啊啊啊啊啊!
查看原帖
求助,9个WA1个TLE,发现错误但是没改出来啊啊啊啊啊!
452531
cygnus_beta楼主2021/2/5 22:38

寒假集训刚上完的蒟蒻来做普及-,错了之后(应该是输入错了)看看题解觉得自己鬼迷心窍。用的数组和选择排序(蒟蒻行为勿喷)。 代码如下:

#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;

int main(){
	ll n,cnt=0;
	bool flag=true;

	scanf("%lld",&n);

	ll a[n],ans[n],sum[n],s=0;
	memset(ans,-1,sizeof(ans));
	memset(sum,0,sizeof(sum));

	for(ll i=0;i<n;i++){
		scanf("%lld",&a[i]);

		for(ll j=0;j<=cnt+1;j++){
			if(a[i]==ans[j])sum[j]++;
		}
		
		for(ll j=0;j<=cnt;j++){
			if(a[i]!=ans[j])s++;
		}
		if(s==i+1){
			ans[cnt]=a[i];
			sum[cnt]++;
			cnt++;
		}
		

		s=0;
	}

	for(int i=0;i<cnt-1;i++){
		for(int j=i+1;j<cnt;j++){
			if(ans[i]>ans[j]){
				swap(ans[i],ans[j]);
				swap(sum[i],sum[j]);
			}
		}
	}

	for(int i=0;i<cnt;i++)printf("%lld %lld\n",ans[i],sum[i]);

	return 0;
}

各位大佬行行好!

2021/2/5 22:38
加载中...