Cod sursa(job #1841261)

Utilizator stefanmereutaStefan Mereuta stefanmereuta Data 5 ianuarie 2017 14:36:42
Problema Farfurii Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <iostream>
#include <fstream>
#include <math.h>

using namespace std;

#define MAX 100000

int main()
{
    ifstream fin("farfurii.in");
    ofstream fout("farfurii.out");

    int n, k, v[MAX];

    fin >> n >> k;

    for (int i = 0; i < n; i++) {
        v[i] = i + 1;
    }

    int inv = ceil((sqrt(8 * k + 1) + 1) / 2);

    int dist = inv * (inv - 1) / 2 - k;

    int i, j;

    for (i = 0; i < n - inv; i++) {
        fout << v[i] << " ";
    }

    fout << v[n - 1 - dist] << " ";

    for (j = n - 1; j > n - 1 - dist; j--) {
        fout << v[j] << " ";
    }

    j--;

    for (; j >= i; j--) {
        fout << v[j] << " ";
    }

    fin.close();
    fout.close();

    return 0;
}