排序题
//
// main.cpp
// PATA1137
//
// Created by Phoenix on 2018/2/26.
// Copyright © 2018年 Phoenix. All rights reserved.
//
#include <iostream>
#include <cstdio>
#include <map>
#include <string>
#include <algorithm>
using namespace std;
const int maxn = 30010;
struct node {
string id;
int program;
int Gm, Gf;
int grade;
int flag;
}stu[maxn];
bool cmp(node a, node b) {
if(a.grade != b.grade) return a.grade > b.grade;
else return a.id < b.id;
}
map<string, int> mp;
int main(int argc, const char * argv[]) {
int p, m, n;
scanf("%d %d %d", &p, &m, &n);
for(int i = 0; i < p + m + n; i++) {
stu[i].program = 0;
stu[i].Gm = stu[i].Gf = -1;
stu[i].grade = 0;
stu[i].flag = 0;
}
int num = 0;
for(int i = 0; i < p; i++) {
s