Cod sursa(job #3241174)

Utilizator PescarusTanislav Luca Andrei Pescarus Data 27 august 2024 13:13:52
Problema Farfurii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
const int nmax = 100005;
int a[nmax];
long long  n, m, k;
int main(){
    f >> n >> k;
    m = 1;
    while(m * (m - 1) / 2 <= k){
        m++;
    }
    m--;
    if(k == m * (m - 1) / 2){
        for(int i = 1; i <= n - m; i++){
            g << i << ' ';
        }
        for(int i = n; i >= n - m + 1; i--){
            g << i << ' ';
        }
    } else{
        int val = m * (m + 1) / 2 - k;
        for(int i = 1; i <= n - m - 1; i++){
            g << i << ' ';
        }
        g << n - val << ' ';
        for(int i = n; i > n - val; i--){
            g << i << ' ';
        }
        for(int i = n - val - 1; i >= n - m; i--){
            g << i << ' ';
        }
    }   
}