Cod sursa(job #1776318)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 11 octombrie 2016 10:17:47
Problema Farfurii Scor 100
Compilator cpp Status done
Runda cerculdeinfo-lectia2-arborideintervale Marime 0.67 kb
#include <cstdio>

unsigned long long K,N,v[1000001]={},aux[1000001]={};
 
int main()
{
    freopen("farfurii.in","r",stdin);
    freopen("farfurii.out","w",stdout);
 
    scanf("%lld%lld",&N,&K);
    for(unsigned long long i=1;i<=N;i++)
        v[i]=i;
    unsigned long long i=1;
    while(i<N&&K>0)
    {
        if((N-i)*(N-i-1)/2<K)
        {
            aux[0]++;
            aux[aux[0]]=v[i];
            v[i]=0;
            K-=N-i;
        }
        i++;
    }
    for(unsigned long long i=1;i<=N;i++)
        if(v[i]==i)
            printf("%d ",v[i]);
    for(unsigned long long i=aux[0];i>0;i--)
        printf("%d ",aux[i]);
    return 0;
}