Pagini recente » Cod sursa (job #1453127) | Cod sursa (job #36713) | Cod sursa (job #18139) | Cod sursa (job #618798) | Cod sursa (job #108860)
Cod sursa(job #108860)
Utilizator |
Mircea Pasoi domino |
Data |
23 noiembrie 2007 23:41:16 |
Problema |
Multimi2 |
Scor |
Ascuns |
Compilator |
cpp |
Status |
done |
Runda |
|
Marime |
0.71 kb |
#include <stdio.h>
#define MAX_N 1000005
#define FIN "multimi2.in"
#define FOUT "multimi2.out"
int N;
char U[MAX_N];
int main(void)
{
int i, cnt = 0;
long long half;
freopen(FIN, "r", stdin);
freopen(FOUT, "w", stdout);
scanf("%d", &N);
half = ((long long)N*(N+1)/2)/2;
for (i = N; half > 0; )
{
for (; i > 0 && (U[i] || i > half); --i);
half -= i; U[i] = 1; cnt++;
}
printf("%lld\n", ((long long)N*(N+1)/2)%2);
printf("%d\n", cnt);
for (i = 1; i <= N; ++i)
if (U[i]) printf("%d ", i);
printf("\n%d\n", N-cnt);
for (i = 1; i <= N; ++i)
if (!U[i]) printf("%d ", i);
printf("\n");
return 0;
}