poj 1032 Parliament
#include <iostream>
using namespace std;
int main()
{
int s,list[1000],i,p=0,top=0;
scanf("%d",&s);
for(i=2;;i++)
{
if(p+i<=s)
{
p+=i;
list[top++]=i;
}
else
break;
}
p=s-p;
int a=p/top,b=p%top;
for(i=0;i<top;i++)
list[i]+=a;
for(i=top-1;i>top-1-b;i--)
list[i]++;
for(i=0;i<top;i++)
printf("%d ",list[i]);
printf("\n");
return 0;
}