算法的天差地别 别人10行AC 你写了100行。。。还要TLE

//#include<bits/stdc++.h>
#include<iostream>
using namespace std;
typedef long long ll;
int n=0;
const int N=2e6+1;
int len=0,delta=0,a[N];//8M~8e6bytes~ 4*2e6 

int main(){

	
	cin>>n;
	len=n;
	
	if(n>N){len=N,delta=n-N;}
	
	for(int i=1;i<=len;i++){
		cin>>a[i];	
		for(int j=i-1;j>=1;j--){
			if(a[i]==a[j]){
				a[i]=a[j]=-1;
			}
		}
	}
	
	int tot=1;	
	
	if(n>N){
		for(int i=1;i<=len;i++){
			if(a[i]!=-1){	
			a[tot++]=a[i];
			a[i]=-1; //搬到前面去 
			}
		}
		int ntot=tot+delta;
		for(int i=tot;i<=ntot;i++){
			cin>>a[i]; 
			for(int j=i-1;j>=1;j--){
				if(a[i]==a[j]){
					a[i]=a[j]=-1;
				}
			}			
		}
		for(int i=1;i<=ntot;i++){
			if(a[i]!=-1){
				cout<<a[i];
				return 0;
			}
		}
	}
	
	for(int i=1;i<=len;i++){
			if(a[i]!=-1){
				cout<<a[i];
				return 0;
			}
		}

	return 0;
}

record1

#include<iostream>
int main(){
	std::ios_base::sync_with_stdio(false);
	std::cin.tie(nullptr);
	int n,ans=0;
	std::cin>>n;
	for(int i=1;i<=n;i++){  int  tmp;  std::cin>>tmp;  ans^=tmp; }
	std::cout<<ans;
	return 0;
}//刚好十行 

record2

posted @ 2026-01-16 16:51  数学爱好者_CQYZ  阅读(1)  评论(0)    收藏  举报
你好Oier!
🚀 常用OJ
洛谷 CF AcWing LeetCode