978G - Petya's Exams - CodeForces Solution


greedy implementation sortings *1700

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
#define el '\n'
#define int long long
using namespace std;
struct st
{
    int s,d,c,j;
};
bool comp(st one, st two)
{
    return one.d<two.d;
}
int n,m;
int ans[105];
void sol()
{
    cin>>n>>m;
    st a[m];
    for(int i=0;i<m;i++) {
        cin>>a[i].s>>a[i].d>>a[i].c;
        a[i].j=i+1;
        ans[a[i].d]=m+1;
    }
    sort(a,a+m,comp);
    //for(int i=0;i<m;i++) cout<<a[i].s<<' '<<a[i].d<<' '<<a[i].c<<' '<<a[i].j<<el;
    for(int i=0;i<m;i++) {
        int dem=0;
        for(int g=a[i].s;g<a[i].d;g++) {
            if(ans[g]==0) {
                ans[g]=a[i].j;
                dem++;
                if(dem==a[i].c) break;
            }
        }
        if(dem<a[i].c) {
            cout<<-1;
            return ;
        }
    }
    for(int i=1;i<=n;i++) cout<<ans[i]<<' ';
}
signed main()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    /*int t; cin>>t;
    while(t--)*/ sol();
    return 0;
}
/*
██████╗░██╗░░██╗███╗░░░███╗██████╗░██╗░░░██╗░█████╗░░█████╗░████████╗██╗███╗░░██╗
██╔══██╗██║░░██║████╗░████║██╔══██╗██║░░░██║██╔══██╗██╔══██╗╚══██╔══╝██║████╗░██║
██████╔╝███████║██╔████╔██║██║░░██║██║░░░██║██║░░╚═╝██║░░╚═╝░░░██║░░░██║██╔██╗██║
██╔═══╝░██╔══██║██║╚██╔╝██║██║░░██║██║░░░██║██║░░██╗██║░░██╗░░░██║░░░██║██║╚████║
██║░░░░░██║░░██║██║░╚═╝░██║██████╔╝╚██████╔╝╚█████╔╝╚█████╔╝░░░██║░░░██║██║░╚███║
╚═╝░░░░░╚═╝░░╚═╝╚═╝░░░░░╚═╝╚═════╝░░╚═════╝░░╚════╝░░╚════╝░░░░╚═╝░░░╚═╝╚═╝░░╚══╝
*/


Comments

Submit
0 Comments
More Questions

507B - Amr and Pins
379A - New Year Candles
1154A - Restoring Three Numbers
750A - New Year and Hurry
705A - Hulk
492B - Vanya and Lanterns
1374C - Move Brackets
1476A - K-divisible Sum
1333A - Little Artem
432D - Prefixes and Suffixes
486A - Calculating Function
1373B - 01 Game
1187A - Stickers and Toys
313B - Ilya and Queries
579A - Raising Bacteria
723A - The New Year Meeting Friends
302A - Eugeny and Array
1638B - Odd Swap Sort
1370C - Number Game
1206B - Make Product Equal One
131A - cAPS lOCK
1635A - Min Or Sum
474A - Keyboard
1343A - Candies
1343C - Alternating Subsequence
1325A - EhAb AnD gCd
746A - Compote
318A - Even Odds
550B - Preparing Olympiad
939B - Hamster Farm