Cod sursa(job #3038868)

Utilizator andreibrosPeta Andrei Mathias andreibros Data 27 martie 2023 21:09:19
Problema Farfurii Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream in("farfurii.in");
ofstream out("farfurii.out");
vector <int> sol;
long long cnt=0;
int main()
{
    long long n,k;
    in>>n>>k;
    // nr de elemente pentru care nr de combinari luate cate doua din farfurii sa fie mai mic sau egal cu k
    while((n-1-cnt)*(n-2-cnt)/2>=k)
        cnt++;
    for(int i=1; i<=cnt; i++)
        sol.push_back(i);
    //nr de combinari luate cate doua din farfurii
    long long x=(n-1-cnt)*(n-cnt)/2;
    // farfuria ramasa neimperecheata
    long long num=n-x;

   if(num>cnt)
        sol.push_back(num);
   for(int i=n; i>cnt; i--)
        if(num!=i)
            sol.push_back(i);

   for(int i=0 ;i<sol.size(); i++)
        out<<sol[i]<<" ";



    return 0;
}