Cod sursa(job #1779749)

Utilizator martonsSoos Marton martons Data 15 octombrie 2016 16:24:33
Problema Xor Max Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <cstdio>

using namespace std;

int main()
{
    FILE* f=fopen("xormax.in", "r");
    FILE* f1=fopen("xormax.out", "w");

    int n, x, crt, maxim=-1, start_maxim=0, end_maxim=0, start_crt=0, end_crt=0;

    fscanf(f, "%d", &n);

    fscanf(f, "%d", &x);
    crt = x;
    maxim = x;

    for(int i=1;i<n;i++){
        fscanf(f, "%d", &x);
        if((x xor crt) > x){
            crt = x xor crt;
            end_crt++;
        }
        else{
            crt = x;
            start_crt = i;
            end_crt = i;
        }
        if(crt>maxim){
            maxim = crt;
            start_maxim = start_crt;
            end_maxim = end_crt;
        }
    }

    fprintf(f1, "%d %d %d", maxim, start_maxim+1, end_maxim+1);
    return 0;
}