Pagini recente » Cod sursa (job #1161517) | Cod sursa (job #1237205) | Cod sursa (job #488315) | Cod sursa (job #851084) | Cod sursa (job #3132495)
#include <iostream>
#include <fstream>
int main(){
std::ifstream f("farfurii.in");
std::ofstream g("farfurii.out");
long long n, k;
f >> n >> k;
// De farfuriile astea n avem nevoie ca sa atingem nr de inversiuni
long long farfurie = 1;
while(k <= (n - farfurie) * (n - farfurie - 1) / 2){
g << farfurie << ' ';
++farfurie;
}
--farfurie;
// Daca avem numar in plus de inversiuni mai scoatem o farfurie
long long max = (n - farfurie) * (n - farfurie - 1) / 2;
long long farfurie2 = n - max + k;
g << farfurie2 << ' ';
// Afisam farfuriile ramase in ordine descrescatoare
for(long long i = n; i > farfurie; i--)
if(i != farfurie2)
g << i << ' ';
std::cout << "ok\n";
return 0;
}