Cod sursa(job #1968406)
| Utilizator | Data | 17 aprilie 2017 17:54:12 | |
|---|---|---|---|
| Problema | Farfurii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <fstream>
using namespace std;
ifstream in("farfurii.in");
ofstream out("farfurii.out");
long long N, K;
void Read(){
in >> N >> K;
}
void SolveAndPrint(){
long long factor = 1, dif;
while(factor * (factor + 1) / 2 < K)
factor++;
for(int i = 1; i <= N - factor - 1; ++i)
out << i << " ";
dif = factor * (factor + 1) / 2 - K;
out << N - dif << " ";
for(int i = N; i >= N - factor; --i){
if(i != N - dif)
out << i << " ";
}
out << "\n";
}
int main(){
Read();
SolveAndPrint();
return 0;
}
