Cod sursa(job #206641)

Utilizator tamicTamas Iulia tamic Data 8 septembrie 2008 12:14:56
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <stdio.h>

FILE *fin,*fout;
long long v[100001];
long long n,k;

void solve(){
     long long e,s,i,nr;
     i=1; s=1; e=n;
     while(i<=n){
                 nr=e-s;
                 if(((nr-1)*nr) /2 >=k){
                              v[s]=i;
                              s++;
                              }
                 else{
                      v[e]=i;
                      e--;
                      k -= nr;
                      }
                 i++;
                 }
     }

void afis(){
     long long i;
     for(i=1;i<=n-1;i++) fprintf(fout,"%lld ",v[i]);
     fprintf(fout,"%lld\n",v[n]);
     }

int main(){
    fin=fopen("farfurii.in","r");
    fout=fopen("farfurii.out","w");
    fscanf(fin,"%lld%lld",&n,&k);
    solve();
    afis();
    fclose(fin); fclose(fout);
    return 0;
}