AC代码:
#include<iostream>
#include<algorithm>
using namespace std;
bool cmp(long long c,long long e){
return c>e;
}
long long n;
int main(){
cin>>n;
long long a[n+1],b[n+1];
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++)cin>>b[i];
sort(a+1,a+n+1,cmp);
sort(b+1,b+n+1,cmp);
for(int i=1;i<=n;i++){
if(b[i]<a[i]){
cout<<"NE";
return 0;
}
}
cout<<"DA";
}
WA代码:
#include<iostream>
#include<algorithm>
using namespace std;
bool cmp(long long c,long long e){
return c>e;
}
long long n;
int main(){
cin>>n;
long long a[n+1],b[n+1];
for(int i=1;i<=n;i++)cin>>a[i]>>b[i];
sort(a+1,a+n+1,cmp);
sort(b+1,b+n+1,cmp);
for(int i=1;i<=n;i++){
if(b[i]<a[i]){
cout<<"NE";
return 0;
}
}
cout<<"DA";
}
求问:其中,读入数组a和b的时候,其中的i的值不是相同的吗?为什么换一个读入方式(重新用一个循环读入)就是对的呢?