#include<bits/stdc++.h>
using namespace std;
int n,m,a[1005];
void solve(int l,int r){
int t[1005]={0},len=r-l+1;
for (int i=1;i<=len;i++)
t[i]=a[l+i-1];
sort(t+1,t+len+1);
int ans,max=0,cnt=0;
for (int i=1;i<=len+1;i++){
if (t[i]==t[i-1])
cnt++;
else{
if (cnt>max){
max=cnt;
ans=t[i-1];
}
cnt=0;
}
}
cout<<ans<<endl;
}
int main(){
cin>>n>>m;
for (int i=1;i<=n;i++)
cin>>a[i];
bool flag;
int x,y;
while (m--){
cin>>flag>>x>>y;
if (flag==0){
solve(x,y);
}
else{
a[x]=y;
}
}
return 0;
}
盗取了测试点1的数据,第220行和第401行我的输出和标准输出不一样,实在没法调,谁能给一个简单的反例...
以下是我如何找不同的代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[1005],b[1005],t;
int flag=0;
while (cin>>t){
if (!t)
break;
a[++flag]=t;
}
flag=0;
while (cin>>t){
if (!t)
break;
b[++flag]=t;
}
for (int i=1;i<=flag;i++)
if (a[i]!=b[i])
cout<<i<<' ';
return 0;
}