Cod sursa(job #1883798)

Utilizator Dan_RadulescuRadulescu Dan Dan_Radulescu Data 18 februarie 2017 11:11:55
Problema Farfurii Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>
using namespace std;

FILE *f1 = fopen("farfurii.in", "r");
FILE *f2 = fopen("farfurii.out", "w");

int N, K, i, M, val;

int main()
{
    fscanf(f1, "%d%d", &N, &K);
    fclose(f1);
    M = 2;
    while (M * (M-1) / 2 < K) M++;
    if (M*(M-1)/2 == K)
    {
        for (i = 1; i <= N - M; i++)
            fprintf(f2, "%d ", i);
        for (i = N; i >= N - M + 1; i--)
            fprintf(f2, "%d ", i);
        return 0;
    } else M--;
    for (i = 1; i <= N-M-1; i++)
        fprintf(f2, "%d ", i);
    val = N-(K-M*(M-1)/2);
    fprintf(f2, "%d ", val);
    for (i = N; i >= N-M; i--)
        if (i != val)
            fprintf(f2, "%d ", i);
    fclose(f2);
    return 0;
}