Cod sursa(job #1900104)

Utilizator Mircea_DonciuDonciu Mircea Mircea_Donciu Data 3 martie 2017 10:07:45
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <iostream>
#include <cstdio>

using namespace std;
int n,k,i,x,y,v[100005];
int main()
{
    FILE *f=fopen("farfurii.in","r");
    FILE *g=fopen("farfurii.out","w");
    fscanf(f,"%d%d",&n,&k);
    for(i=1; i<=n; i++) v[i]=i;
    i=1;
    while(i*(i-1)/2<=k) i++;
    i--;
    x=n-i;
    y=x+k-i*(i-1)/2;
    for(i=x+1; i<=y; i++) v[i]=i-1;
    v[x]=y;
    for(i=1; i<=n; i++)
    {
        if(i>=x+1&&i<=(n+x+1)/2) swap(v[i],v[n+x+1-i]);
        fprintf(g,"%d ",v[i]);
    }
    fprintf(g,"\n");
    fclose(f); fclose(g);
    return 0;
}