Cod sursa(job #3222186)

Utilizator TimofeiFilipTimofei Filip Emanuel TimofeiFilip Data 9 aprilie 2024 11:01:45
Problema Multimi2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 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];
    }
    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);
        }        
        i++;
        j++;
    }
    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;
}