poj-2287---Tian Ji -- The Horse Racing(贪心)
#include<iostream> #include<algorithm> using namespace std; bool cmp(const int,const int); int king[3000] = {0}; int tian[3000] = {0}; int main() { int n; while(cin>>n && n!=0){ int tf = 0,te = n-1,ke = n-1,kf = 0,i; for(i=0;i<n;++i)cin>>tian[i]; for(i=0;i<n;++i)cin>>king[i]; sort(king,king+n,cmp); sort(tian,tian+n,cmp); int cut = 0; int k = 0; while(tf<=te && kf<=ke){// if(tian[tf] > king[kf]){//最快的能跑过,赚钱 tf++;kf++;cut +=200; }else if(tian[tf] < king[kf]){//跑不过,最慢的兑子,亏200 te--;kf++;cut -=200; }else {//最快的相等,用最慢的兑子 if(tian[te] > king [ke]){//最慢的能赚钱 ke--;te--;cut += 200; }else{ if(tian[te] < king[kf])cut -= 200;//赚不了钱的兑子 te--;kf++; } } } cout<<cut<<endl; } return 0; } bool cmp(const int a,const int b){ return a>b; }