Cod sursa(job #2904969)
Utilizator | Turcitu Ana-Maria AnaTurcitu | Data | 18 mai 2022 23:04:02 |
---|---|---|---|
Problema | Farfurii | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <fstream>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
int main()
{
int N, K, m=1, p;
f >> N >> K;
while((m-1) * m / 2 < K)
m++;
for(int i=1; i<=N-m; i++)
g << i << ' ';
p = (m-1) * m / 2 - K; // am aflat numarul de inversiuni care sunt in plus
if(p==0)
for(int i=N; i>=m; i--)
g << i << ' ';
else
{
g << N - p << ' ';
for(int i=N; i>=N-m; i--)
if(i != N-p)
g << i << ' ';
}
}