Cod sursa(job #1213523)

Utilizator mihail.jianuJianu Mihail mihail.jianu Data 28 iulie 2014 13:18:18
Problema Farfurii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<cstdio>
const long ,ong N=100000;
bool vis[N+1];
FILE*in,*out;
long long n,k;
void scan(){
    fscanf(in,"%I64d%I64d",&n,&k);
}
void init(){
    in=fopen("farfurii.in","r");
    out=fopen("farfurii.out","w");
    scan();
}
void solve(){
    long long i,x=n,nr;
    for(i=1;i<=n;i++){
        nr=(x-1)*(x-2)/2;
        if(k>=nr)
            break;
        x--;
        vis[i]=true;
        fprintf(out,"%I64d ",i);
    }
    if(k-nr+i>0){
        fprintf(out,"%I64d ",k-nr+i);
        vis[k-nr+i]=true;
    }
    for(i=n;i>=1;i--)
        if(!vis[i])
            fprintf(out,"%I64d ",i);
}
int main(){
    init();
    solve();
    return 0;
}