Cod sursa(job #2761617)

Utilizator Pop_MariaPop Maria Pop_Maria Data 2 iulie 2021 21:29:45
Problema Farfurii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <iostream>
#include <fstream>

using namespace std;

int numar_farfurii;
long numar_tacamuri, numar_inversiuni;

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

    fin >> numar_farfurii;
    fin >> numar_tacamuri;

    if(numar_tacamuri == 0)
        for(int i = 1; i <= numar_farfurii; i++)
            fout << i << " ";
    else if(numar_farfurii == 1)
            fout << 1;
    else
    {
        while(numar_inversiuni * (numar_inversiuni + 1) / 2 <= numar_tacamuri)
            numar_inversiuni++;

        for(int i = 1; i <= numar_farfurii - numar_inversiuni - 1; i++)
            fout << i << " ";

        int numar = numar_farfurii + numar_tacamuri - numar_inversiuni * (numar_inversiuni + 1) / 2;

        fout << numar << " ";

        for(int i = numar_farfurii; i >= numar_farfurii - numar_inversiuni; i--)
            if(i != numar)
                fout << i << " ";
    }

    return 0;
}