Cod sursa(job #2095300)

Utilizator biaiftimeIftime Bianca biaiftime Data 27 decembrie 2017 12:49:32
Problema Farfurii Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#include <cmath>
#define Nmax 100002
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
int n,k,q,kk;
int a[Nmax];
int main()
{
    int i,j,aux;
    fin>>n>>k;
    for(i=1;i<=n;++i)
    a[i]=i;
    kk=(sqrt(8*k+1)-1)/2;
    while(kk*(kk-1)/2<k)++kk;
    i=n-kk+1; j=n;
    while(i<j)
    {
        swap(a[i],a[j]);
        ++i;
        --j;
    }
    q=kk*(kk-1)/2-k;
    i=n-kk+1; j=n-kk+q+1;
    aux=a[j];
    while(i<j){ a[j]=a[j-1]; --j;}
    a[i]=aux;
    for(i=1;i<=n;++i)
    fout<<a[i]<<" ";
    return 0;
}