Pentru a putea rula codul, te rugăm să te autentifici.

Autentifică-te
main.cpp

ID #761 · Cupa InfoAs, ediția 6 · Probleme diverse cu backtracking

Problema Nea Ghita

Dificilă · 8

Memorie: 64 MB / 8 MB

Timp: 0.2 secunde

I/O: Fișiere

Nea Ghiță tocmai a ieșit la pensie și pentru a putea să își ocupe timpul liber, și-a creat de curând un cont pe o rețea de socializare populară. Deja a fost adăugat în n grupuri cu prieteni, foști colegi și alte persoane pe care le cunoaște. Fiecare grup i (1 ≤ i ≤ n) are ai membri.

Epuizat de numărul de mesaje și postări care se trimit sau distribuie necontenit, Nea Ghiță decide într-o zi să iasă din câteva grupuri. Dorința lui ar fi ca numărul de persoane din grupurile în care să rămână membru să fie cât mai apropiat de numărul de persoane din grupurile din care iese.

Fiind fost profesor de informatică, Nea Ghiță decide să îți propună chiar ție să creezi un program care, având numărul de persoane din fiecare grup în parte, să afișeze diferența minimă de persoane care se obține dacă acesta iese dintr-un număr de grupuri, exact cum a descris el mai sus.

Cerință

Se dau n și n numere reprezentând numărul de persoane din fiecare dintre cele n grupuri. Să se determine diferența minimă de persoane dacă acesta iese din câteva dintre grupuri.

Date de intrare

Fișierul de intrare ghita.in conține pe prima linie numărul natural n. Pe a doua linie se află n numere naturale separate prin câte un spațiu, reprezentând numărul de persoane din fiecare grup în parte.

Date de ieșire

Fișierul de ieșire ghita.out conține un singur număr, reprezentând diferența minimă în valoare absolută care se poate obține dintre persoanele din grupurile în care rămâne și persoanele din grupurile din care iese, dacă acesta iese optim.

Restricții și precizări

  • 1 ≤ n ≤ 15
  • 1 ≤ numărul de persoane dintr-un grup ≤ 1.000.000.000 (Nea Ghiță are foarte mulți prieteni)
  • Considerăm că persoanele din toate grupurile sunt distincte

Exemple

ghita.in

4
2 5 3 2

ghita.out

2

Explicație

Pentru primul exemplu: Nea Ghiță poate să rămână, de exemplu, în grupurile cu 5 și 2 membri, iar în celelalte două grupuri, cu 2 și 3 membri, acesta iese, având diferența |(5 + 2) - (2 + 3)| = |7 - 5| = 2. Există și alte configurații cu această diferență minimă.

Pentru al doilea exemplu: Nea Ghiță poate să rămână în grupul cu 10 membri și să iasă din celelalte. Diferența minimă este |10 - (1 + 2 + 3 + 4)| = |10 - 10| = 10.

ghita.in

5
1 2 10 4 3

ghita.out

0

Explicație

Pentru primul exemplu: Nea Ghiță poate să rămână, de exemplu, în grupurile cu 5 și 2 membri, iar în celelalte două grupuri, cu 2 și 3 membri, acesta iese, având diferența |(5 + 2) - (2 + 3)| = |7 - 5| = 2. Există și alte configurații cu această diferență minimă.

Pentru al doilea exemplu: Nea Ghiță poate să rămână în grupul cu 10 membri și să iasă din celelalte. Diferența minimă este |10 - (1 + 2 + 3 + 4)| = |10 - 10| = 10.

ID #761 Autor Dominic Satnoianu
Set Cupa InfoAs, ediția 6 Adăugată de Alexis Alexis lexington
Capitol Clasa a XI-a/Backtracking/Probleme diverse cu backtracking
Licență

© 2021 – 2025 Aspire Education Labs SRL. Toate drepturile rezervate. Așa cum este specificat și în termeni și condiții, conținutul acestei pagini este protejat de legea drepturilor de autor și este interzisă copierea sau modificarea acestuia fără acordul scris al autorilor. Încălcarea drepturilor de autor este o infracțiune și se pedepsește conform legii.

Indicații oficiale de rezolvare a problemei

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Aperiam rem vel architecto dolore, nulla laboriosam atque laudantium sint commodi in molestiae excepturi dicta inventore eum, quos porro illum ratione ea! Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a?

#include <bits/stdc++.h>

    using namespace std;

    int main() {
        int n;
        cin >> n;
        cout << n * n << endl;
        return 0;
    }

Lorem:

Subtitle

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Aperiam rem vel architecto dolore, nulla laboriosam atque laudantium sint commodi in molestiae excepturi dicta inventore eum, quos porro illum ratione ea! Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a?

Lorem:

Pentru a vizualiza indicațiile problemei, te rugăm să te autentifici.

Indicații oficiale de rezolvare a problemei

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Aperiam rem vel architecto dolore, nulla laboriosam atque laudantium sint commodi in molestiae excepturi dicta inventore eum, quos porro illum ratione ea! Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a?

#include <bits/stdc++.h>

    using namespace std;

    int main() {
        int n;
        cin >> n;
        cout << n * n << endl;
        return 0;
    }

Lorem:

Subtitle

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Aperiam rem vel architecto dolore, nulla laboriosam atque laudantium sint commodi in molestiae excepturi dicta inventore eum, quos porro illum ratione ea! Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a? Nisi nostrum quod delectus corporis?

Lorem ipsum dolor sit amet consectetur adipisicing elit Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorum possimus dolores, molestiae sunt repellendus voluptate qui asperiores maiores cumque, quidem nihil facere distinctio! Odit, a?

Lorem:

Pentru a vizualiza rezolvarea problemei, te rugăm să te autentifici.

Soluții trimise la problema Nea Ghita

Soluții trimise 92
Soluții de 100 de puncte 19
Soluții de luna aceasta La fel de multe ca luna trecută. 0 +0
Rata de succes Rata dintre numărul de persoane care au obținut 100 de puncte și numărul total de persoane care au încercat problema. 47.37%

Autentifică-te pentru a vedea soluțiile tale.

Autentifică-te
  • Toate soluțiile tale le găsești aici. Găsești toate detaliile evaluării mai târziu, precum punctaje și sfaturi primite.
  • Poți să editezi soluțiile tale și să le retrimiți. Reia mai târziu de unde ai rămas, pentru că poți modifica soluții și să le reevaluezi.
  • Profesorii pot să vadă soluțiile tale și să îți trimită sugestii. Astfel, îți este mai ușor să înveți informatica, primind sfaturi bune chiar de la școală.

Ultimele soluții trimise 92

10000 100000 100000 10 100
100000 1000000 100 10000 10000000
100000 100000 100 10000 10000
1000000 100000 100000 10000000 1000
1000 100 100000 100000 10
10 1000 1000 10 10000000
1000000 100000 10 10 1000000
100000 1000 1000 10000 100000
10000000 1000000 10000000 100 1000000
10000000 1000000 1000 1000 10000
Tabelul se actualizează în timp real. ?? / ??

Comentarii 0

Autentifică-te pentru a putea comenta.

Autentifică-te