Pagini recente » Cod sursa (job #2038713) | Cod sursa (job #1623138) | Cod sursa (job #1853234) | Cod sursa (job #1808368) | Cod sursa (job #295039)
Cod sursa(job #295039)
#include<stdio.h>
using namespace std;
char v[1000000];
int main()
{int nr,k,i;
unsigned long s=0,s1,s2,a;
FILE*f=fopen("multimi2.in","r");
FILE*g=fopen("multimi2.out","w");
fscanf(f,"%d",&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,"%d\n%d\n",s%2,k);
for(i=1;i<=nr;i++)
if(v[i]) fprintf(g,"%d ",i);
fprintf(g,"\n%d\n",nr-k);
for(i=1;i<=nr;i++)
if(!v[i]) fprintf(g,"%d ",i);
fprintf(g,"\n");
fclose(f);
fclose(g);
return 0;
}