Alex_tz307

USACO 2015 December Contest, Bronze Problem 3. Contaminated Milk

Dec 1st, 2020
280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.24 KB | None | 0 0
  1. // http://www.usaco.org/index.php?page=viewproblem2&cpid=569
  2. #include <bits/stdc++.h>
  3.  
  4. using namespace std;
  5.  
  6. ifstream fin("badmilk.in");
  7. ofstream fout("badmilk.out");
  8.  
  9. class action {
  10.     public:
  11.         int p, m, t;
  12. };
  13.  
  14. void max_self(int &a, int b) {
  15.     a = max(a, b);
  16. }
  17.  
  18. int main() {
  19.     int N, M, D, S;
  20.     fin >> N >> M >> D >> S;
  21.     vector <action> a(D);
  22.     for(int i = 0; i < D; ++i)
  23.         fin >> a[i].p >> a[i].m >> a[i].t;
  24.     vector<int> sick(N + 1);
  25.     for(int i = 0; i < S; ++i) {
  26.         int p, t;
  27.         fin >> p >> t;
  28.         sick[p] = t;
  29.     }
  30.     int sol = 0;
  31.     for(int milk = 1; milk <= N; ++milk) {
  32.         int cnt = 0;
  33.         vector < bool > mark(N + 1);
  34.         for(int i = 0; i < D && cnt < S; ++i) {
  35.             action x = a[i];
  36.             if(x.m == milk && x.t < sick[x.p]) {
  37.                 if(!mark[x.p])
  38.                     ++cnt;
  39.                 mark[x.p] = true;
  40.             }
  41.         }
  42.         if(cnt == S) {
  43.             set<int> s;
  44.             for(int i = 0; i < D; ++i) {
  45.                 action x = a[i];
  46.                 if(x.m == milk)
  47.                     s.insert(x.p);
  48.             }
  49.             max_self(sol, static_cast<int>(s.size()));
  50.         }
  51.     }
  52.     fout << sol;
  53. }
  54.  
Advertisement
Add Comment
Please, Sign In to add comment