比赛 |
防止颓废的小练习v0.15 |
评测结果 |
AAAAAATTTT |
题目名称 |
瑞士轮 |
最终得分 |
60 |
用户昵称 |
WHZ0325 |
运行时间 |
4.501 s |
代码语言 |
C++ |
内存使用 |
2.60 MiB |
提交时间 |
2016-10-17 20:02:49 |
显示代码纯文本
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("swiss.in");
ofstream fout("swiss.out");
int n,r,q;
struct com {
int tag;
int score;
int value;
} array[200010];
bool cmp(const com a,const com b) {
if(a.score>b.score) {
return true;
}
if(a.score<b.score) {
return false;
}
return a.tag<b.tag;
}
inline void fight(com &a,com &b) {
if(a.value>b.value) {
a.score++;
}
else {
b.score++;
}
}
int main() {
fin>>n>>r>>q;
for(int i=1;i<=2*n;i++) {
array[i].tag=i;
fin>>array[i].score;
}
for(int i=1;i<=2*n;i++) {
fin>>array[i].value;
}
while(r--) {
sort(array+1,array+1+2*n,cmp);
for(int i=1;i<=2*n;i+=2) {
fight(array[i],array[i+1]);
}
}
sort(array+1,array+1+2*n,cmp);
fout<<array[q].tag<<endl;
fin.close();
fout.close();
return 0;
}