Cod sursa(job #1077840)

Utilizator IoannaPandele Ioana Ioanna Data 11 ianuarie 2014 18:22:31
Problema Farfurii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <cmath>

using namespace std;

int n;
long long k;

ifstream in("farfurii.in");
ofstream out("farfurii.out");

void solve() {
    long long f = sqrt(2 * k);
    if (f * f < 2 * k)
        f++;
    if (2*k == f * (f - 1)) {
        for (int i = 1; i <= n - f; i++)
            out<<i<<" ";
        for (int i = n; i >= n - f + 1; i--) {
            out<<i<<" ";
        }
        return;
    }
    for (int i = 1; i < n - f; i++)
            out<<i<<" ";
    long long change = n - (f * (f + 1) / 2 - k);
    out<<change<<" ";
    for (int i = n; i >= n - f; i--) {
        if (i != change) {
            out<<i<<" ";
        }
    }

}

int main() {
    in>>n>>k;
    solve();
    return 0;
}