Cod sursa(job #203084)

Utilizator mordredSimionescu Andrei mordred Data 13 august 2008 16:24:12
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <stdio.h>
typedef unsigned long long int64;
int64 n, k, m, i, j, l;

int main(){
 freopen("farfurii.in","r",stdin);
 freopen("farfurii.out","w",stdout);
 
 scanf("%lld %lld", &n, &k);
 
 while( m * (m+1) / 2 < k )
    ++m;
    
 if( m * (m+1) / 2 == k )
    {
    for(i = 1; i < n - m; ++i)
        printf("%lld ", i);
    while(n >= m)
        {
        printf("%lld ", n);
        --n;
        }
    return 0;    
    }
 
 for(i=1;i<n-m;++i)
    printf("%lld ", i);
 
 j = n - (m * (m + 1) / 2 - k);
 l = n - m;
 printf("%d ", j);
 for(i = n; i >= l; --i)
    if(i != j)
        printf("%lld ", i);
 
 return 0;    
}