59852023-10-10 23:06:03AndrosVállalkozócpp17Elfogadva 40/4026ms4268 KiB
#include <iostream>
#include <algorithm>

using namespace std;

//egy-egy napon mennyi munkát tud megoldani
int kapacitas[10005];
int feladatok[10005];

int main() {
	int napdb, rendelesdb;
	cin >> napdb >> rendelesdb;
	//1..=napdb
	for (int i = 1; i <= napdb; i++)
	{
		cin >> kapacitas[i];
	}
	for (int i = 0; i < rendelesdb; i++)
	{
		int melyik_nap;
		cin >> melyik_nap;
		feladatok[melyik_nap]++;
	}

	//int munkak = 0;

	//for (int i = 0; i <= napdb; i++)
	//{
	//	munkak += feladatok[i];
	//}
	//cout << munkak;
	
	int sol = 0;

	int munkaorak = 0;
	int elvegzettek = 0;
	for (int i = 1; i <= napdb; i++)
	{
		munkaorak += kapacitas[i];//feltételezzük, hogy mindig dolgozik
		//cout <<i<< " munkaorak: " << munkaorak << "\tfeladatok: " << feladatok[i];
		//ennyit dolgozott összesen eddig
		if (munkaorak >= feladatok[i]) {//Többet dolgozott, mint amennyi lejárna
			munkaorak -= feladatok[i];//A dolgozottakból levonom a határidõsöket
			sol += feladatok[i];//És elvégezte az összes aznapi feladatot
		}
		else
		{
			sol += munkaorak;//A maradékot ledolgozza
			munkaorak = 0;//Nem marad már munkaórája, mert mindent megpróbált megcsinálni
		}
		//cout << "\tsol: " << sol << endl;

	}

	cout << sol;

	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/03ms1880 KiB
2Elfogadva0/026ms2080 KiB
3Elfogadva2/22ms2304 KiB
4Elfogadva2/22ms2372 KiB
5Elfogadva2/22ms2608 KiB
6Elfogadva2/23ms2584 KiB
7Elfogadva2/24ms2712 KiB
8Elfogadva2/23ms2924 KiB
9Elfogadva2/24ms3012 KiB
10Elfogadva2/23ms3136 KiB
11Elfogadva2/23ms3272 KiB
12Elfogadva2/23ms3472 KiB
13Elfogadva2/24ms3560 KiB
14Elfogadva2/24ms3556 KiB
15Elfogadva2/28ms3680 KiB
16Elfogadva2/28ms3792 KiB
17Elfogadva2/214ms3828 KiB
18Elfogadva2/210ms3856 KiB
19Elfogadva2/213ms4108 KiB
20Elfogadva2/214ms4164 KiB
21Elfogadva2/218ms4268 KiB
22Elfogadva2/226ms4252 KiB