Cod sursa(job #1213524)

Utilizator mihail.jianuJianu Mihail mihail.jianu Data 28 iulie 2014 13:19:00
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<cstdio>
const long long N=100000;
bool vis[N+1];
FILE*in,*out;
long long n,k;
void scan(){
    fscanf(in,"%lld%lld",&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,"%lld ",i);
    }
    if(k-nr+i>0){
        fprintf(out,"%lld ",k-nr+i);
        vis[k-nr+i]=true;
    }
    for(i=n;i>=1;i--)
        if(!vis[i])
            fprintf(out,"%lld ",i);
}
int main(){
    init();
    solve();
    return 0;
}