Cod sursa(job #1213511)

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