Submission #1346173

#TimeUsernameProblemLanguageResultExecution timeMemory
1346173Muhammad_AneeqHokej (COCI17_hokej)C++20
0 / 120
129 ms28864 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
inline void solve()
{
    int n,m;
    cin>>m>>n;
    vector<vector<int>>a;
    for (int i=0;i<n;i++)
    {
        int qu,in;
        cin>>qu>>in;
        in=min(in,m);
        a.push_back({qu,in,i});
    }
    sort(begin(a),end(a));
    reverse(begin(a),end(a));
    int ans=0;
    int req=m*6;
    vector<vector<int>>pls;
    for (auto vec:a)
    {
        int qu=vec[0],in=vec[1],ind=vec[2];
        int f=min(req,in);
        ans+=(f*qu);
        pls.push_back({f,ind});
        req-=f;
        if (req==0)
            break;
    }
    if (req)
    {
        exit(-1);
    }
    int mx[6]={};
    int pr[6]={};
    for (int i=0;i<6;i++)
        pr[i]=-1;
    vector<int>pre;
    vector<vector<int>>subs;
    for (auto vec:pls)
    {
        int tm=vec[0],ind=vec[1];
        int ins=0;
        for (int j=1;j<6;j++)
            if (mx[ins]>mx[j])
                ins=j;
        if (mx[ins]==0)
            pre.push_back(ind+1);
        else
            subs.push_back({mx[ins],pr[ins]+1,ind+1});
        pr[ins]=ind;
        mx[ins]+=tm;
    }
    cout<<ans<<endl;
    for (auto i:pre)
        cout<<i<<' ';
    cout<<endl;
    cout<<subs.size()<<endl;
    for (auto vec:subs)
    {
        for (auto j:vec)
            cout<<j<<' ';
        cout<<endl;
    }
}
signed main()
{
    ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
    int t=1;
    for (int i=1;i<=t;i++)
    {
        solve();
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...