Pagini recente » Cod sursa (job #892943) | Cod sursa (job #2507874) | Cod sursa (job #3125463) | Cod sursa (job #2346586) | Cod sursa (job #583788)
Cod sursa(job #583788)
#include<stdio.h>
bool X[1000100];
long int N;
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);
if(N%2)
{
a = (N+1)/2;
a *= N;
}
else
{
a = N/2;
a *= N+1;
}
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);
}