Submission #946594

#TimeUsernameProblemLanguageResultExecution timeMemory
946594sondos225Trading (IZhO13_trading)C++17
100 / 100
324 ms52924 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define fast ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL);
#define pb push_back
#define yes "YES"
#define no "NO"
#define bigg INT_MAX
#define debug(x) cout<<(#x)<<" = " <<x<<endl;
#define all(x) x.begin(),x.end()
#define sz size()
#define nn '\n'
#define mms(x,y) memset(x,y,sizeof(x))
#define forr(i,j,n) for (int i=j; i<n; i++)
#define forn(i,j,n) for (int i=j; i>n; i--)
#define fi first
#define se second
#define la "LA"
#define cinn(x,y) for(int i=0; i<y; i++) cin>>x[i];
#define pii pair<int,int>
signed main()
{
//    #ifndef LOCAL
//    freopen("lifeguards.in","r",stdin);
//    freopen("lifeguards.out","w", stdout);
//    #endif
    fast
    int n,m;
    cin>>n >>m;
    vector<int> a[n+1];vector<int> b[n+1];
    int ans[n+1]={ };
    forr(i,0,m)
    {
        int x,y,z;
        cin>>x >>y >>z;
        x--;
       // y--;
        a[x].pb(z-x);
        b[y].pb(z-x);
    }
    map<int,int> mp;
    priority_queue<int> q;
    map<int,pii> k;

//    5 . . 6
    forr(i,0,n)
    {
        for(auto j:a[i])
        {
             q.push(j);
            //if (j<0) mp[j]++;
        }
        for(auto j:b[i])
        {
//            if (j>0) q.push(j);
             mp[j]++;
        }
        while(!q.empty() && mp[q.top()]) { mp[q.top()]--;
        q.pop();
        }
        if (!q.empty()) ans[i]=q.top()+i;
    }
    forr(i,0,n) cout<<ans[i]<<' ';
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...