原题右转——https://www.luogu.com.cn/problem/P1650
我是直接贪心,结果10分——评测状态
Code
#include<bits/stdc++.h>
using namespace std;
const int N=2005;
int n,a[N],b[N],ans=0,t1=1,t2,q1=1,q2;
//t1 田忌最快的马的序号
//t2 田忌最慢的马的序号
//q1 齐王最快的马的序号
//q2 齐王最慢的马的序号
int cmp(int a,int b)
{ return a>b;
}
int main()
{ cin>>n;
t2=q2=n;
for(int i=1;i<=n;i++)
{ cin>>a[i];
}
for(int j=1;j<=n;j++)
{ cin>>b[j];
}
sort(a+1,a+n+1,cmp);
sort(b+1,b+n+1,cmp);
for(int i=1;i<=n;i++)
{ if(a[t1]>b[q1])//田忌最快的比齐王最快的快 ,直接干
{ t1++;
q1++;
ans++;
}
else if(a[t1]<b[q1])//田忌最快的比齐王最快的慢 ,拿最慢的换掉
{ t2--;
q1++;
ans--;
}
else
{ if(a[t2]>b[q2])//田忌最慢的比齐王最慢的快 ,直接干
{ t2--;
q2--;
ans++;
}
else if(a[t2]<b[q2])//田忌最慢的比齐王最慢的慢 ,把齐王最快的换掉
{ t2--;
q1++;
ans--;
}
else//否则平局
{ t2--;
q2--;
}
}
}
cout<<ans*200;
return 0;
}