141C - Queue - CodeForces Solution


constructive algorithms greedy sortings *1800

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
using namespace std;
using I=int;
using S=string;
const I N=3000;
pair<I,S>ppls[N];
vector<I>inds;
I ress[N];
I main(){
  cin.tie(0)->sync_with_stdio(0);
  I n;cin>>n;
  for(I i=0;i<n;i++){
    S nam;I a;cin>>nam>>a;
    ppls[i]={a,nam};
  }
  sort(ppls,ppls+n);
  for(I i=0;i<n;i++){
    auto[a,nam]=ppls[i];
    if(a>i)printf("-1"),exit(0);
    inds.insert(inds.begin()+a,i);
  }
  for(I i=n-1;i>=0;i--)ress[inds[i]]=n-i;
  for(I i=0;i<n;i++){
    auto[a,nam]=ppls[i];
    printf("%s %i\n",nam.c_str(),ress[i]);
  }
}


Comments

Submit
0 Comments
More Questions

462B - Appleman and Card Game
1560C - Infinity Table
1605C - Dominant Character
1399A - Remove Smallest
208A - Dubstep
1581A - CQXYM Count Permutations
337A - Puzzles
495A - Digital Counter
796A - Buying A House
67A - Partial Teacher
116A - Tram
1472B - Fair Division
1281C - Cut and Paste
141A - Amusing Joke
112A - Petya and Strings
677A - Vanya and Fence
1621A - Stable Arrangement of Rooks
472A - Design Tutorial Learn from Math
1368A - C+=
450A - Jzzhu and Children
546A - Soldier and Bananas
32B - Borze
1651B - Prove Him Wrong
381A - Sereja and Dima
41A - Translation
1559A - Mocha and Math
832A - Sasha and Sticks
292B - Network Topology
1339A - Filling Diamonds
910A - The Way to Home