Cod sursa(job #2345692)

Utilizator BogdanAlexandruBogdan-Alexandru Dig BogdanAlexandru Data 16 februarie 2019 16:46:33
Problema Buline Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <stdio.h>
#include <climits>
using namespace std;
FILE *f,*g;
int WhiteOrBlack(int a,int A)
{
    if(!A)return -a;
    return a;
}
void SolveProblemNigga()
{
    long long BestSum=-INT_MAX,i=1,Sum=-1,X,Y,N,l=0;
    int Pos,p=1,O,fp,Across;
    fscanf(f,"%lld",&N);
    for(i=1;p<=2&&i<=2*N;i++)
    {
        if(i>N&&p<2){
            f=fopen("buline.in","r");fscanf(f,"%d",&O);++p;
        }
        fscanf(f,"%lld %lld",&X,&Y);
        X=WhiteOrBlack(X,Y);
        if(Sum<0)
        {
            Sum=X;l=1;fp=i;
            if(p>1)break;
        }
        else
            Sum+=X,l++;
        if(i-N==fp)break;
        if(Sum>BestSum) BestSum=Sum,Across=l,Pos=i-l+1;
        else
            if(BestSum==Sum&&l>Across)Across=l;
    }
    fprintf(g,"%lld %d %d",BestSum,Pos,Across);
}
int main()
{
    f=fopen("buline.in","r");g=fopen("buline.out","w");
    SolveProblemNigga();
    fclose(f);
    fclose(g);
    return 0;
}