Cod sursa(job #1412237)

Utilizator danstefanDamian Dan Stefan danstefan Data 1 aprilie 2015 10:44:59
Problema Multimi2 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.28 kb
#include<fstream>
#include<cstdio>
using namespace std;
int n, i, nr1, nr2,reus,jakub;
int a[500001], b[500001];
int main(){
    freopen("multimi2.in","r",stdin);
    ofstream g("multimi2.out");
    scanf("%d",&n);
    if(n%4==0){
        reus=0;
        jakub=1;
         g<<reus<<'\n';
            g<<n/2<<'\n';
           for(i=jakub; i<= n;++i){
        a[++nr1]=i;
        a[++nr1]=i+3;
        b[++nr2]=i+1;
        b[++nr2]=i+2;
        i+=3;}
            a[1] = 1;
              for(i = 1; i <= nr1; i++){
        g<< a[i] <<" ";}
    g<<'\n'<< nr2 <<'\n';
    for(i = 1; i <= nr2; i++){
        g<< b[i] <<" ";}}
    else{
        if(n%4==1){
            reus=1;
            jakub=2;
            nr1++;
             g<<reus<<'\n';
            g<<jakub<<'\n';
            for(i=jakub; i<= n;++i){
        a[++nr1]=i;
        a[++nr1]=i+3;
        b[++nr2]=i+1;
        b[++nr2]=i+2;
        i+=3;}
            a[1] = 1;
              for(i = 1; i <= nr1; i++){
        g<< a[i] <<" ";}
    g<<'\n'<< nr2 <<'\n';
    for(i = 1; i <= nr2; i++){
        g<< b[i] <<" ";}}
        else
            if(n % 4 == 2){
                reus = 1;
                jakub= 3;
                nr1++;
                nr2++;
                a[1] = 1;
                b[1] = 2;
                     g<<reus<<'\n';
            g<<jakub<<'\n';
               for(i=jakub; i<= n;++i){
        a[++nr1]=i;
        a[++nr1]=i+3;
        b[++nr2]=i+1;
        b[++nr2]=i+2;
        i+=3;}
            a[1] = 1;
              for(i = 1; i <= nr1; i++){
        g<< a[i] <<" ";}
    g<<'\n'<< nr2 <<'\n';
    for(i = 1; i <= nr2; i++){
        g<< b[i] <<" ";}}
            else{
                reus = 0;
                jakub = 4;
                nr1 = 2;
                nr2 = 1;
                a[1] = 1;
                a[2] = 2;
                b[1] = 3;
                  g<<reus<<'\n';
            g<<jakub<<'\n';
               for(i=jakub; i<= n;++i){
        a[++nr1]=i;
        a[++nr1]=i+3;
        b[++nr2]=i+1;
        b[++nr2]=i+2;
        i+=3;}
            a[1] = 1;
              for(i = 1; i <= nr1; i++){
        g<< a[i] <<" ";}
    g<<'\n'<< nr2 <<'\n';
    for(i = 1; i <= nr2; i++){
        g<< b[i] <<" ";}}
        }
    return 0;
}