Cod sursa(job #2245650)

Utilizator marinaoprOprea Marina marinaopr Data 25 septembrie 2018 18:12:08
Problema Prod Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <stdio.h>

#define NMAX 100005

using namespace std;

FILE *fin=fopen("farfurii.in","r"); FILE *fout=fopen("farfurii.out","w");

unsigned long long int N,K,Termen,Sum,i,Poz,Completez,A[NMAX];

int main()
{
    fscanf(fin,"%lld%lld",&N,&K);
    Termen=1; Sum=0;
    while(Sum+Termen<K) {Sum+=Termen; ++Termen;}
    Completez=N;
    for(i=N-Termen+1; i<=N; ++i) A[i]=Completez--;
    Poz=K-Sum;
    A[N-Termen]=A[N-Poz+1];
    for(i=N-Poz+1; i<=N; ++i) --A[i];
    for(i=1; i<=N-Termen-1; ++i) A[i]=i;
    for(i=1; i<=N; ++i) fprintf(fout,"%lld ",A[i]);

    return 0;
}