Cod sursa(job #2871215)

Utilizator rucaliusaHaraseniuc Laura rucaliusa Data 13 martie 2022 14:58:43
Problema Secventa 3 Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.57 kb
#include <iostream> 
#include <fstream> 
#include <stdlib.h>
#include <iomanip>

using namespace std; 

int main() 
{  
    ifstream f("secv3.in"); 
    ofstream g("secv3.out");
    int n, l, u, x;
    f>>n>>l>>u;
    int *suma_prime, *suma_tipuri_prime;
    suma_prime=(int *)calloc(n+1, sizeof(int));
    suma_tipuri_prime=(int *)calloc(n+1, sizeof(int));
    for (int i=1; i<=n; i++) 
    { 
         f>>x;
        suma_prime[i]=suma_prime[i-1]+x;
        //printf("Suma primelor %d numere este %d\n", i, suma_prime[i]);
    }
    for (int i=1; i<=n; i++) 
    { 
        f>>x;
        suma_tipuri_prime[i]=suma_tipuri_prime[i-1]+x;
        //printf("Suma primelor %d numere este %d\n", i, suma_tipuri_prime[i]);
    } 
    float raport_maxim=0;
    for (int i=1; i<=n; i++) 
    { 
        for (int j=1; j<=n; j++) 
            if (j-i+1>=l && j-i+1<=u) 
                { 
                    //a[i][j]=suma_prime[j]-suma_prime[i-1];
                    //a[i][j]=suma_tipuri_prime[j]-suma_tipuri_prime[i-1];
                    //cout<<"Pentru a["<<i<<"]["<<j<<"]"<<" RAP = "<<float(suma_prime[j]-suma_prime[i-1])/float(suma_tipuri_prime[j]-suma_tipuri_prime[i-1])<<endl;
                    float raport; 
                    raport=float(suma_prime[j]-suma_prime[i-1])/float(suma_tipuri_prime[j]-suma_tipuri_prime[i-1]);
                    if (raport>raport_maxim) 
                        raport_maxim=raport;
                }
    }
    free(suma_prime);
    free(suma_tipuri_prime);  
    g<<fixed<<setprecision(2)<<raport_maxim;
    return 0;
}