fork download
  1. /*
  2. ID: alanxiao1
  3. TASK: gift1
  4. LANG: C++
  5. */
  6. #include <bits/stdc++.h>
  7.  
  8. using namespace std;
  9.  
  10. int main() {
  11. ifstream fin ("gift1.in");
  12. ofstream fout ("gift1.out");
  13. fin.open("gift1.in");
  14. fout.open("gift1.out");
  15. vector<string> names;
  16. int NP;
  17. fin >> NP;
  18. int bankBalance[NP];
  19. for(int i = 0; i < NP; i++) {
  20. string n;
  21. fin >> n;
  22. bankBalance[i] = 0;
  23. names.push_back(n);
  24. }
  25. for(int i = 0; i < NP; i++) {
  26. int bankAmount;
  27. int receiverNum;
  28. fin >> bankAmount >> receiverNum;
  29. if(bankAmount == 0) {
  30. break;
  31. } else
  32. if(receiverNum == 0) {
  33. bankBalance[i] += bankAmount;
  34. } else {
  35. int moneyLeft = bankAmount % receiverNum;
  36. int moneyGiven = bankAmount/receiverNum;
  37. for(int j = 0; j < receiverNum; j++) {
  38. string name;
  39. fin >> name;
  40. for(int k = 0; k < NP; k++) {
  41. if(name == names[k]) {
  42. bankBalance[k] += moneyGiven;
  43. }
  44. }
  45. }
  46. bankBalance[i] += moneyLeft;
  47. }
  48. }
  49. for(int a = 0; a < NP; a++) {
  50. cout << names[a] << ' '<< bankBalance[a] << ' ';
  51. }
  52. fin.close();
  53. fout.close();
  54. return 0;
  55. }
Time limit exceeded #stdin #stdout 5s 4492KB
stdin
10
mitnik
Poulsen
Tanner
Stallman
Ritchie
Baran
Spafford
Farmer
Venema
Linus
mitnik
300 3
Poulsen
Tanner
Baran
Poulsen
1000 1
Tanner
Spafford
2000 9
mitnik
Poulsen
Tanner
Stallman
Ritchie
Baran
Farmer
Venema
Linus
Tanner
1234 1
Poulsen
Stallman
536 3
Farmer
Venema
Linus
Ritchie
2000 1
mitnik
Baran
79 2
Tanner
Farmer
Farmer
0 0
Venema
12 9
mitnik
Poulsen
Tanner
Stallman
Ritchie
Baran
Spafford
Farmer
Linus
Linus
1000 1
mitnik
stdout
Standard output is empty