TASK: rockers LANG: C++ Compiling... Compile: OK Executing... Test 1: TEST OK [0.000 secs, 3080 KB] Test 2: TEST OK [0.000 secs, 3080 KB] Test 3: TEST OK [0.000 secs, 3080 KB] Test 4: TEST OK [0.000 secs, 3080 KB] Test 5: TEST OK [0.000 secs, 3080 KB] Test 6: TEST OK [0.000 secs, 3080 KB] Test 7: TEST OK [0.000 secs, 3080 KB] Test 8: TEST OK [0.000 secs, 3080 KB] Test 9: TEST OK [0.000 secs, 3080 KB] Test 10: TEST OK [0.000 secs, 3080 KB] Test 11: TEST OK [0.000 secs, 3080 KB] Test 12: TEST OK [0.000 secs, 3080 KB] All tests OK.
1
/*
2 PROG: rockers
3 ID: jiafeim1
4 LANG: C++
5 */
6
7 #include < stdio.h >
8 #include < string .h >
9 #include < math.h >
10
11 #define maxX(x,y) ((x)>(y)?(x):(y))
12
13 int n,t,m;
14 int musicLen[ 25 ];
15 bool musicHaveChoose[ 25 ] = { false };
16
17 int res[ 25 ][ 25 ][ 25 ] = { 0 };
18
19 int main()
20 {
21 FILE * fin = fopen( " rockers.in " , " r " );
22 FILE * fout = fopen( " rockers.out " , " w " );
23
24 fscanf(fin, " %d%d%d " , & n, & t, & m);
25 for ( int i = 0 ;i < n; ++ i)
26 {
27 fscanf(fin, " %d " , & (musicLen[i]));
28 if (musicLen[i] > t)
29 musicHaveChoose[i] = true ;
30 }
31 int c1,c2,c3;
32 for ( int music = 1 ;music <= n; ++ music)
33 if (musicHaveChoose[music - 1 ])
34 continue ;
35 else
36 for ( int cd = 1 ;cd <= m; ++ cd)
37 for ( int len = 1 ;len <= t; ++ len)
38 {
39 c1 = res[cd][music - 1 ][len];
40 c3 = res[cd - 1 ][music][t];
41 c2 = 0 ;
42 if (len > musicLen[music - 1 ])
43 c2 = res[cd][music - 1 ][len - musicLen[music - 1 ]] + 1 ;
44 if (len == musicLen[music - 1 ])
45 c2 = res[cd - 1 ][music - 1 ][t] + 1 ;
46 res[cd][music][len] =
47 maxX(maxX(c1,res[cd][music][len]),maxX(c2,c3));
48 }
49 fprintf(fout, " %d\n " ,res[m][n][t]);
50 fclose(fin);
51 fclose(fout);
52 return 0 ;
53 }
2 PROG: rockers
3 ID: jiafeim1
4 LANG: C++
5 */
6
7 #include < stdio.h >
8 #include < string .h >
9 #include < math.h >
10
11 #define maxX(x,y) ((x)>(y)?(x):(y))
12
13 int n,t,m;
14 int musicLen[ 25 ];
15 bool musicHaveChoose[ 25 ] = { false };
16
17 int res[ 25 ][ 25 ][ 25 ] = { 0 };
18
19 int main()
20 {
21 FILE * fin = fopen( " rockers.in " , " r " );
22 FILE * fout = fopen( " rockers.out " , " w " );
23
24 fscanf(fin, " %d%d%d " , & n, & t, & m);
25 for ( int i = 0 ;i < n; ++ i)
26 {
27 fscanf(fin, " %d " , & (musicLen[i]));
28 if (musicLen[i] > t)
29 musicHaveChoose[i] = true ;
30 }
31 int c1,c2,c3;
32 for ( int music = 1 ;music <= n; ++ music)
33 if (musicHaveChoose[music - 1 ])
34 continue ;
35 else
36 for ( int cd = 1 ;cd <= m; ++ cd)
37 for ( int len = 1 ;len <= t; ++ len)
38 {
39 c1 = res[cd][music - 1 ][len];
40 c3 = res[cd - 1 ][music][t];
41 c2 = 0 ;
42 if (len > musicLen[music - 1 ])
43 c2 = res[cd][music - 1 ][len - musicLen[music - 1 ]] + 1 ;
44 if (len == musicLen[music - 1 ])
45 c2 = res[cd - 1 ][music - 1 ][t] + 1 ;
46 res[cd][music][len] =
47 maxX(maxX(c1,res[cd][music][len]),maxX(c2,c3));
48 }
49 fprintf(fout, " %d\n " ,res[m][n][t]);
50 fclose(fin);
51 fclose(fout);
52 return 0 ;
53 }