Pagini recente » Cod sursa (job #1274974) | Cod sursa (job #2751356)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("farfurii.in");
ofstream out("farfurii.out");
int main()
{
int n,k;
int sumMax,temp;
in >> n >> k;
for(temp=1;temp*(temp-1)/2<k;temp++);//pozitia(de la coada la cap) pe care fa fi primul nr diferit
sumMax=temp*(temp-1)/2;//suma nr descrescatoare
for(int i=1;i<=n-temp;i++){//scrie toate nr consecutive
out << i << " ";
}
out << n-(sumMax-k) << " ";//nr dinainte de max(sau chiar max)
for(int i=n;i>n-temp;i--){
if(i==n-(sumMax-k))continue;//nu afisam acelas nr de 2 ori
out << i << " ";
}
return 0;
}