Cod sursa(job #391706)

Utilizator vicenzo_cnuStan Alexandru Dan vicenzo_cnu Data 6 februarie 2010 08:08:51
Problema Farfurii Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>
#define Nmax 100001
int k,m,comp;
int n,c,p;
char v[Nmax];

int main()
{int i,j;
freopen("farfurii.in","r",stdin);
freopen("farfurii.out","w",stdout);
scanf("%d %d",&n,&k);
p=1,c=n;
  for(i=1;i<=n;i++)
    { if(k==(n+1-i)*(n-i)/2)
        {while(v[c]==1)
        c--;
        printf("%d ",c);
        k-=n-i;
        
        v[c]=1;
        c--;}


	else if(k>(n-i)*(n-1-i)/2)
      {comp=n-((n-i)*(n-i+1)/2-k);
            printf("%d ",comp);      
      k-=comp-i;v[comp]=1;
      }   
    
    else {while(v[p]==1)
          p++;
    printf("%d ",p);
    v[p]=1;
          p++;}
  }
fclose(stdin);
fclose(stdout);
return 0;
}