1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>

using namespace std;

int rzeczy[30], plecaki[107], wyniki[107]; 

int main()
{
	ios_base::sync_with_stdio( 0 );
	int n, m, s=0, s2=0;
	bool moszna=false;
	cin >> n >> m;
	for( int i = 0; i < n; i++ )
	{
		cin >> rzeczy[i];
		s = s + rzeczy[i];
	}
	for( int i = 0; i < m; i++ )
	{
		cin >> plecaki[i];
	}
	
	for( int i = 0; i < m; i++ )
	{
		int pom = plecaki[i];
		s2 = 1;
		for( int j = 0; j < m; j++ )
		{
			if( j != i )
			{
				if( pom + plecaki[j] > s )
				{
					wyniki[i] = s2 + 1;
					moszna = true;
					j = m;
				}
				else
				{
					pom = pom + plecaki[j];
					s2 = s2 + 1;
				}
			}
		}
	}
	
	if( moszna )
	{
		int minw=100000007;
		for( int i = 0; i < m; i++ )
		{
			if( wyniki[i] < minw && wyniki[i] > 0 )
			{
				minw = wyniki[i];
			}
		}
		cout << minw;
	}
	else cout << "NIE";	
}