Cod sursa(job #2281222)

Utilizator TooHappyMarchitan Teodor TooHappy Data 11 noiembrie 2018 18:30:16
Problema Farfurii Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <bits/stdc++.h>
 
using namespace std;
 
ifstream in("farfurii.in");
ofstream out("farfurii.out");

int main() {
    ios::sync_with_stdio(false); in.tie(0); out.tie(0);

    long long n, k; in >> n >> k;

    long long m;
    for(m = 1; m * (m - 1) < k; ++m);

    if(m * (m - 1) == k) {
        for(long long i = 1; i <= n - m; ++i) {
            out << i << " ";
        }

        for(long long i = n; i >= n - m - 1; --i) {
            out << i << " ";
        }
    } else {
        for(long long i = 1; i < n - m; ++i) {
            out << i << " ";
        }

        stack< long long > s; s.push(n - ((m + 1) * m / 2 - k));
        out << n - ((m + 1) * m / 2 - k) << " ";

        for(long long i = n; i >= n - m; --i) {
            if(i != s.top()) {
                out << i << " ";
            }
        }
    }
    out << "\n";

    in.close(); out.close();
 
    return 0;
}