Cod sursa(job #1322751)

Utilizator bogdanpaunFMI Paun Bogdan Gabriel bogdanpaun Data 20 ianuarie 2015 12:57:23
Problema Farfurii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#include <deque>
using namespace std;

ifstream f("farfurii.in");
ofstream g("farfurii.out");
deque<int> d;
int n , k;
int v[100005];
int main()
{
    f >> n >> k;
    int *v = new int[n+5];
    for(int i=1;i<=n;++i) d.push_back(i);

    int a;

    for(int i=1;i<=n;++i){
        if( k <= (n-i)*(n-i-1)/2 ){
            v[i] = d.front();
            d.pop_front();
        }
        else{
            v[i]= d[ k - (n-i)*(n-i-1)/2 ];
            d.erase( d.begin() +k - (n-i)*(n-i-1)/2 );
        }
    }
    for(int i=1;i<=n;++i) g << v[i]<<" ";

    return 0;
}