Advertisement
Saleh127

UVA Live Archive 7014

Jul 31st, 2021
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define test int tt; cin>>tt; for(int cs=1;cs<=tt;cs++)
  5.  
  6. map<ll,set<char>>team;
  7. map<char,set<ll>>prblm;
  8.  
  9. string verdict;
  10.  
  11. ll T,P,S;
  12.  
  13.  
  14. bool isideal()
  15. {
  16. for(ll i=1;i<=T;i++)
  17. {
  18. if(team[i].size()==0 || team[i].size()==P) return 0;
  19. }
  20. for(ll i=0;i<P;i++)
  21. {
  22. if(prblm[i+'A'].size()==0 || prblm[i+'A'].size()==T) return 0;
  23. }
  24. return 1;
  25. }
  26.  
  27. struct submission
  28. {
  29. ll t;
  30. char p;
  31. string time;
  32.  
  33. }sub;
  34.  
  35.  
  36. bool cmp(submission a,submission b)
  37. {
  38. return a.time<b.time;
  39. }
  40.  
  41. int main()
  42. {
  43. ios_base::sync_with_stdio(0);
  44. cin.tie(0);
  45. cout.tie(0);
  46.  
  47.  
  48. while(cin>>T>>P>>S && (T+P+S)>0)
  49. {
  50. string s=";;;;;;;;;",e="--:--:--";
  51.  
  52. vector<submission>x;
  53.  
  54. for(ll i=0; i<S; i++)
  55. {
  56. cin>>sub.t>>sub.p>>sub.time>>verdict;
  57.  
  58. if(verdict=="No")
  59. {
  60. getline(cin,verdict);
  61. continue;
  62. }
  63.  
  64. x.push_back(sub);
  65. }
  66.  
  67. sort(x.begin(),x.end(),cmp);
  68.  
  69. ll ans=0;
  70.  
  71. for(auto ii:x)
  72. {
  73. ll ti=ii.t;
  74. char pp=ii.p;
  75. string sm=ii.time;
  76.  
  77. team[ti].insert(pp);
  78. prblm[pp].insert(ti);
  79.  
  80. if(isideal())
  81. {
  82. s=min(s,sm);
  83. ans=1;
  84. }
  85. else if(ans)
  86. {
  87. e=max(e,sm);
  88. ans=0;
  89. }
  90. }
  91.  
  92. if(s==";;;;;;;;;") cout<<"--:--:-- ";
  93. else cout<<s<<" ";
  94.  
  95. cout<<e<<endl;
  96.  
  97. team.clear(),prblm.clear();
  98. }
  99.  
  100.  
  101. return 0;
  102. }
  103.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement