Cod sursa(job #1077816)

Utilizator IoannaPandele Ioana Ioanna Data 11 ianuarie 2014 18:03:18
Problema Farfurii Scor 80
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.71 kb
#include <fstream>
#include <cmath>

using namespace std;

int n, k;

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

void solve() {
    int f = sqrt(2 * k);
    if (f * f < 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<<" ";
    int 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;
}