Omówienie zadania Trójkąt – zadanie pokazuje jak sortować liczby w C++:
https://youtu.be/sQ99vyC2lJ4? t=5646
Zadanie analogiczne do zadania Deski z XIV Olimpiady Informatycznej Juniorów.
https://youtu.be/sQ99vyC2lJ4?
Zadanie analogiczne do zadania Deski z XIV Olimpiady Informatycznej Juniorów.
Link do zadania:
https://szkopul.edu.pl/ problemset/problem/trojkat/ site/
https://szkopul.edu.pl/
#include <bits/stdc++.h> using namespace std; const int MAX_ODCINKOW = 1e6+7; long long odcinki[MAX_ODCINKOW]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int liczba_odcinkow; long long obwod; int i; cin >> liczba_odcinkow; for (i=0; i<liczba_odcinkow; ++i) cin >> odcinki[i]; sort (odcinki, odcinki+liczba_odcinkow); obwod = odcinki[liczba_odcinkow-1] + odcinki[liczba_odcinkow-2] + odcinki[liczba_odcinkow-3]; if ( odcinki[liczba_odcinkow-1] < odcinki[liczba_odcinkow-2] + odcinki[liczba_odcinkow-3] ) { cout << obwod << "\n"; return 0; } for (i=liczba_odcinkow-4; i>=0; --i) { obwod = obwod - odcinki[i+3]; obwod = obwod + odcinki[i]; if ( odcinki[i+2] < odcinki[i+1] + odcinki[i] ) { cout << obwod << "\n"; return 0; } } cout << -1 << "\n"; return 0; }