Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("roata.in");
- ofstream fout("roata.out");
- long long n,p,v[100001],nrpas,moment,last;
- long long suma;
- set< pair< int,pair< int,int > > >roata;
- int main()
- {
- fin>>n>>p;
- for(int i=1;i<=p;i++)
- {
- fin>>v[i];
- suma+=v[i];
- }
- fout<<suma<<'\n';
- for(int i=1;i<=min(n,p);i++)
- roata.insert(make_pair(v[i],make_pair(i,i)));
- int nrpas=min(n,p)+1;
- moment=0;
- while(!roata.empty())
- {
- auto it=roata.begin();
- int cabina=(*it).second.first;
- int pasager=(*it).second.second;
- moment=(*it).first;
- fout<<pasager<<" ";
- if(nrpas<=p)
- {
- roata.insert(make_pair(v[nrpas]+moment,make_pair(cabina,nrpas)));
- nrpas++;
- }
- roata.erase(it);
- last=cabina;
- }
- fout<<'\n'<<last;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement