Cod sursa(job #1072656)

Utilizator roxannemafteiuMafteiu-Scai Roxana roxannemafteiu Data 4 ianuarie 2014 18:45:26
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.67 kb
#include<cstdio>
#include<cmath>
#define MAX_N 100005
using namespace std;
FILE *in,*out;
int N,i,sol[MAX_N],aux;
double K;
int main()
{
    in=fopen("farfurii.in","rt");
    fscanf(in,"%d %lf",&N,&K);
    fclose(in);
    double c = (1 + sqrt(1+8*K))/2;
    long long m = (long long)c;
    for (i = 1; i <= N - m; i++)
        sol[i] = i;
    for ( i = N - m + 1, aux = N; i <= N; i++)
        sol[i] = aux--;
    K -= m * (m - 1) / 2;
    for ( i = N; i && K; i--, K--)
    {
        sol[i]--;
        sol[N - m]++;
    }
    out=fopen("farfurii.out","wt");
    for (int i = 1; i <= N; i++)
        fprintf(out,"%d ",sol[i]);
    fclose(out);
   return 0;
}