Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream f("ramen.in");
- ofstream g("ramen.out");
- const int N = 100010;
- int n, T, tp, po, i, sol[N];
- set< tuple < int, int, int > > clienti;
- set< int > farfurii;
- int main()
- {
- f >> n >> T;
- for(i = 1; i <= n; i++)
- {
- f >> tp >> po;
- clienti.insert(make_tuple(po, tp, i));
- farfurii.insert(tp);
- }
- for(auto it:clienti)
- {
- tie(po, tp, i)=it;
- set<int>::iterator IT = farfurii.lower_bound(tp - po - T);
- sol[i] = *IT + T + po;
- farfurii.erase(*IT);
- }
- for(i = 1; i <= n; i++)
- g << sol[i] <<'\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement