Ankit_132

E

Sep 16th, 2023
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.83 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define ll     long long
  6. #define ff     first
  7. #define ss     second
  8.  
  9. int main()
  10. {
  11.     int n, m;
  12.     cin>>n>>m;
  13.  
  14.     vector<array<ll int, 3>> tws(m);
  15.  
  16.     for(auto &[t, w, s]: tws)       cin>>t>>w>>s;
  17.  
  18.     vector<ll int> ans(n);
  19.  
  20.     set<pair<ll int, ll int>> returnTime;
  21.  
  22.     set<int> st;
  23.     for(int i=0; i<n; i++)
  24.         st.insert(i);
  25.  
  26.     for(auto [t, w, s]: tws)
  27.     {
  28.         while(returnTime.size() && (*returnTime.begin()).ff<=t)
  29.         {
  30.             st.insert((*returnTime.begin()).ss);
  31.             returnTime.erase(returnTime.begin());
  32.         }
  33.  
  34.         if(!st.size())      continue;
  35.  
  36.         ans[*st.begin()] += w;
  37.  
  38.         returnTime.insert({t+s, *st.begin()});
  39.         st.erase(st.begin());
  40.     }
  41.  
  42.     for(auto e: ans)
  43.       cout<<e<<"\n";
  44. }
  45.  
Advertisement
Add Comment
Please, Sign In to add comment