Rezolvare completă PbInfo #1860 BlackFriday

Cerința

Anul acesta unele magazine din România s-au hotărât să organizeze BlackFriday joia, altele de luni până joi, iar altele sâmbătă şi duminică. Ele au afişat n preţuri înainte de ieftinire şi cele n preţuri după ieftinire. Aflaţi ce produs s-a ieftinit cu cel mai mare procent.

Date de intrare

Fișierul de intrare blackfriday.in conține pe prima linie numărul n, pe a doua linie n numere naturale separate prin spații reprezentând preţurile înainte de ieftinire, iar pe a treia linie n numere naturale separate prin spații reprezentând preţurile corespunzătoare după ieftinire.

Date de ieșire

Fișierul de ieșire blackfriday.out va conține pe prima linie numărul k, reprezentând numărul de ordine din şirul de preţuri dat al produsului care s-a ieftinit cu cel mai mare procent.

Restricții și precizări

  • 2 ≤ n ≤ 10
  • preţurile sunt numere naturale cuprinse între 1 şi 1.000.000.000.
  • dacă sunt mai multe preţuri care s-au ieftinit cu acelaşi procent se va afişa numărul de ordine mai mic.
  • preţurile după ieftinire sunt strict mai mici decât cele anterioare( evident).

Exemplu

blackfriday.in

3
8 15 200
4 6 160

blackfriday.out

2

Explicație

Primul produs s-a ieftinit cu 50%, al doilea cu 60% iar al treilea cu 20%. Deci al doilea produs s-a ieftinit cu cel mai mare procent, afişând astfel numărul său de ordine, adică 2.

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema BlackFriday:

#include <fstream>

using namespace std;
ifstream f("blackfriday.in");
ofstream g("blackfriday.out");
long long n , i , j , a[11] , b[11] ;
int main()
{
    f >> n ;
    for ( i=1 ; i<=n ; i++) f >> a[i] ;
    for ( i=1 ; i<=n ; i++) f >> b[i] ;
    j = 1 ;
    for ( i=2 ; i<=n ; i++)
       if ( a[j]*(a[i]-b[i])>(a[j]-b[j])*a[i]) j = i ;
    g << j ;
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #1860 BlackFriday

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1860 BlackFriday de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!