Programy – Omówienie zadania z I etapu XV Olimpiady Informatycznej Juniorów

Szczegółowe omówienie zadania Programy:

Link do powyższego omówienia zadania Programy:
https://youtu.be/1qhkkV6YtE8?t=1676

Podsumowanie omówienia zadania Programy:
https://youtu.be/1qhkkV6YtE8?t=5339

Link do treści zadania Programy:
https://szkopul.edu.pl/problemset/problem/iO2JdspPtx_KMGhBTCbLnKYe/site

——-
Zadanie Programy pochodzi z I etapu XV Olimpiady Informatycznej Juniorów z tury otwartej.

——–
Zadanie Programy wymaga jedynie posortowanie elementów.
Sortowanie w C++:
https://youtu.be/1qhkkV6YtE8?t=3795

——-
Jak się uczyć na podstawie tego zadania?
https://youtu.be/QgLyXYmFQeU?t=2019
Pamiętaj by zajrzeć max 1 raz – wtedy się rozwijasz:
https://youtu.be/pkLXuuOe_qA?t=3625
——-

#include <bits/stdc++.h>
using namespace std;

const int  MAX_ELEMENTOW = 1e6+7;
int rozmiary_programow[MAX_ELEMENTOW];
int pojemnosci_plyt[MAX_ELEMENTOW];

int main(){
 ios_base::sync_with_stdio(0);
 cin.tie(0);
 cout.tie(0);

 int liczba_programow, liczba_plyt;
 int ile_przeniesionych;
 int numer_programu, numer_plyty;
 int i;
 
 cin >> liczba_programow;
 for (i=0; i<liczba_programow; ++i)
    cin >> rozmiary_programow[i];

 cin >> liczba_plyt;
 for (i=0; i<liczba_plyt; ++i)
    cin >> pojemnosci_plyt[i];

 sort(rozmiary_programow, rozmiary_programow+liczba_programow);
 sort(pojemnosci_plyt, pojemnosci_plyt+liczba_plyt);
    
 numer_programu = 0;
 numer_plyty = 0;
 ile_przeniesionych = 0;
 while ( true ) {
    if ( numer_programu >= liczba_programow )
	   break;   
    if ( numer_plyty  >= liczba_plyt )
	   break;   
	if ( rozmiary_programow[numer_programu] <= pojemnosci_plyt[numer_plyty] ) {
	   ++ile_przeniesionych;	
	   ++numer_programu;
	   ++numer_plyty;
       continue;
	}
   ++numer_plyty;
 }
 cout << ile_przeniesionych << "\n";

 return 0;
}
Kod C++ programu Programy, który jest omówiony w powyższym filmie i który otrzymuje 100%

Nie dodano jeszcze komentarza, rozpocznij dyskusję pierwszy.

Dodaj komentarz