Pagini recente » Cod sursa (job #2268923) | Cod sursa (job #2699285) | Cod sursa (job #1250127) | Cod sursa (job #632868) | Cod sursa (job #2595630)
#include <bits/stdc++.h>
#define dim 100005
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
int n,k,p,i;
bitset<dim> fr;
int caut(int k){
/// n pt suma gauss <=k
int st=1,dr=104,mid;
while(st<=dr){
mid=(st+dr)/2;
if(mid*(mid+1)/2>k)
dr=mid-1;
else st=mid+1;
}
return dr;
}
int main()
{
fin>>n>>k;
p=caut(k); /// ultimele p pozitii descrescatoare
k-=p*(p+1)/2;
/// mai sunt k pozitii;
for(i=1;i<=n-p-2;i++)
fout<<i<<" ",fr[i]=1;
fout<<n-k<<" ";
fr[n-k]=1;
for(i=n;i>=1;i--)
if(fr[i]==0)
fout<<i<<" ";
}