Cod sursa(job #1965966)

Utilizator DiClauDan Claudiu DiClau Data 14 aprilie 2017 19:44:41
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include<stdio.h>
using namespace std;
const int N = 100005;
bool fol[N];
int main ()
{
    FILE *in, *out;
    in = fopen ("farfurii.in", "r");
    out = fopen ("farfurii.out", "w");
    long long n, k;
    fscanf (in, "%lld%lld", &n, &k);
    long long i, ult = 1, c, j;
    for (i = 1; i <= n; i++)
    {
        for (j = ult; j <= n; j++)
        {
            if ((n - i) * (n - i - 1) / 2 + (j - i) > k)
            {
                fprintf (out, "%lld ", j);
                fol[j] = true;
                ult = j + 1;
                break;
            }
            if ((n - i) * (n - i - 1) / 2 + (j - i) == k)
            {
                fprintf (out, "%lld ", j);
                fol[j] = true;
                for (c = n; c >= 1; c--)
                    if (fol[c] == false)
                        fprintf (out, "%lld ", c);
                return 0;
            }
        }

    }
    return 0;
}