Pagini recente » Cod sursa (job #1319849) | Cod sursa (job #897747) | Cod sursa (job #3216728) | Cod sursa (job #859064) | Cod sursa (job #295047)
Cod sursa(job #295047)
#include<stdio.h>
using namespace std;
char v[1000000];
int main()
{unsigned long nr,k,i,s=0,s1,s2,a;
FILE*f=fopen("multimi2.in","r");
FILE*g=fopen("multimi2.out","w");
fscanf(f,"%ud",&nr);
for(i=1;i<=nr;i++)
s+=i;
if(s%2==0) s1=s2=s/2;
else s1=s/2,s2=s1+1;
a=nr;k=1;v[nr]=1;
for(i=nr-1;i>=1;i--)
{if(a==s1) break;
else if((s1-a<nr)&&(v[s1-a]!=1)) v[s1-a]=1,k++,a=s1;
else if(a+i<s1) a+=i,k++,v[i]=1;
}
fprintf(g,"%ud\n%ud\n",s%2,k);
for(i=1;i<=nr;i++)
if(v[i]) fprintf(g,"%ud ",i);
fprintf(g,"\n%ud\n",nr-k);
for(i=1;i<=nr;i++)
if(!v[i]) fprintf(g,"%ud ",i);
fprintf(g,"\n");
fclose(f);
fclose(g);
return 0;
}