Pagini recente » Cod sursa (job #1825658) | Cod sursa (job #1533791) | Cod sursa (job #1822993) | Cod sursa (job #390198) | Cod sursa (job #583785)
Cod sursa(job #583785)
#include<stdio.h>
bool X[1000100];
long int N;
unsigned long long a = 0;
int nr = 0;
int main()
{
FILE *f = fopen("multimi2.in","r");
FILE *g = fopen("multimi2.out","w");
fscanf(f,"%d",&N);
a = N*(N+1)/2;
if(a%2)
fprintf(g,"1\n");
else
fprintf(g,"0\n");
a /= 2;
long long sum1 = 0;
do
{
for(long long i=1;sum1<a;i++)
if(!X[i])
{
X[i] = true;
sum1 += i;
nr ++;
}
for(long long i=1;sum1 > a;i++)
if(X[i])
{
X[i] = false;
sum1 -= i;
nr --;
}
}while(sum1!=a);
fprintf(g,"%d\n",nr);
for(int i=1;i<=N;i++)
if(X[i])
fprintf(g,"%d ",i);
fprintf(g,"\n%d\n",N-nr);
for(int i=1;i<=N;i++)
if(!X[i])
fprintf(g,"%d ",i);
fclose(g);
fclose(f);
}