Cod sursa(job #110625)

Utilizator damaDamaschin Mihai dama Data 27 noiembrie 2007 08:22:41
Problema Multimi2 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <stdio.h>

bool used[1045786];
    
int main()
{
    freopen("multimi2.in", "r", stdin);
    freopen("multimi2.out", "w", stdout);
    

    int i, n, goal, first;
    
    scanf("%d", &n);
    
    goal = n * (n + 1) / 4;
    
    for(i = 1; i <= goal; ++i)
    {
          used[i] = 1;
          goal -= i;
    }
    
    if(goal)
    {
     used[n] = 1;
     used[n - goal] = 0;
    }
    first = i - 1;

    if(2 * (n * (n + 1) / 4) == n * (n + 1) / 2)
    {
         printf("0\n");
    }
    else
    {
        printf("1\n");
    }
    printf("%d\n", first);
    
    for(i = 1; i <= n; ++i)
    {
          if(used[i])
          {
                     printf("%d ", i);
          }
    }
    printf("\n%d\n", n - first);
    for(i = 1; i <= n; ++i)
    {
          if(!used[i])
          {
                     printf("%d ", i);
          }
    }    
    
    
    return 0;
}