Pagini recente » Cod sursa (job #2000414) | Cod sursa (job #2059405) | Cod sursa (job #2807987) | Istoria paginii runda/calcularea_aia/clasament | Cod sursa (job #793325)
Cod sursa(job #793325)
#include <cstdio>
#include <set>
using namespace std;
set<int> mp;
set<int>::iterator it;
int main()
{
int n,k;
freopen("farfurii.in","r", stdin);
freopen("farfurii.out","w", stdout);
scanf("%d %d",&n,&k);
for(int i=1;i<=n;i++)
mp.insert(i);
int c=k;
for(int i=1;i<=n;i++)
{
int mai_mari=mp.size()-1;
int mai_mici=0;
for(it=mp.begin();it!=mp.end();it++,mai_mari--,mai_mici++)
{
int n=mp.size()-1;
if(n*(n-1)/2>k)
{
printf("%d ",*it);
mp.erase(it);
break;
}
int x=mai_mari+mai_mici;
if( mai_mici + x*(x-1)/2 >=c)
{
c-=mai_mici;
printf("%d ",*it);
mp.erase(it);
break;
}
}
}
return 0;
}