1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #include<cstring> #include<cstdlib> #include<cstdio> #include<iostream> #include<climits> using namespace std; int auto_input = 1; int main(){ if(auto_input){ freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); } bool first = true; double bid[1100]; int n, p, i, j, max_prov, id_max_prov, run=1, prov[1100]; char tmp[90], comp[1100][90]; while(scanf("%d %d", &n, &p)!=EOF){ if(n==0 && p==0) break; if(!first) cout << "\n"; first=false; getchar(); for(i=0 ; i<n ; i++) gets(tmp); max_prov=0; for(i=0 ; i<1100 ; i++){ memset(comp[i], '\0', sizeof(comp[i])); prov[i] = 0; bid[i] = LLONG_MAX; } for(i=0 ; i<p ; i++){ cin >> comp[i]; cin >> bid[i] >> prov[i]; getchar(); for(j=0 ; j<prov[i] ; j++) gets(tmp); if((prov[i]==max_prov && bid[i]<bid[id_max_prov])|| (prov[i]>max_prov)){ max_prov = prov[i]; id_max_prov = i; } } cout << "RFP #" << run << endl; cout << comp[id_max_prov] << endl; run++; } if(auto_input){ fclose(stdin); fclose(stdout); } return 0; } |
Direct link: https://paste.plurk.com/show/867451