Cod sursa(job #3222188)

Utilizator TimofeiFilipTimofei Filip Emanuel TimofeiFilip Data 9 aprilie 2024 11:10:38
Problema Multimi2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.22 kb
#include<fstream>
#include<iostream>
#include<cmath>
using namespace std;

ifstream fin("multimi2.in");
ofstream fout("multimi2.out");

int v[1000002],sn[1000002],sI[1000002];

int main(){
    int n,i,j,dif,si,sj,nrcf1,nrcf2;
    fin>>n;
    for(i=1;i<=n;i++){
        v[i]=i;
        
    }
    sn[0]=v[0];
    for(i=1;i<=n;i++){
        sn[i]=sn[i-1]+v[i];
    }
    sI[n]=v[n];
    for(i=n-1;i>0;i--){
        sI[i]=sI[i+1]+v[i];
    }
    
    if(n>2){
        i=1;
        j=n-1;
        dif=100000000;
        while(i<n){
            si = sn[i];
            sj=  sI[j];
            if(dif>(abs(si-sj))){
                nrcf1=i;
                nrcf2=n-i;
                dif=abs(si-sj);
            }
            if(dif>(abs(sj-si))){
                nrcf1=j;
                nrcf2=n-j;
                dif=abs(sj-si);
            }        
            cout<<si<<' '<<sj<<endl;
            i++;
            j++;
        }
    }
    else{
        dif=1;
        nrcf1=nrcf2=1;
    }
    
    fout<<dif<<endl;
    fout<<nrcf1<<endl;
    for(i=1;i<=nrcf1;i++){
        fout<<v[i]<<' ';
    }
    fout<<endl;
    fout<<nrcf2<<endl;
    for(i=nrcf1+1;i<=n;i++){
        fout<<v[i]<<' ';
    }
    fin.close();
    fout.close();
    return 0;
}