File tree 3 files changed +203
-0
lines changed
2023/Contests/Div 2/857/Programs
3 files changed +203
-0
lines changed Original file line number Diff line number Diff line change
1
+ #include < iostream>
2
+ #include < vector>
3
+
4
+ using namespace std ;
5
+
6
+ void solve ()
7
+ {
8
+ int no_of_elements;
9
+ cin >> no_of_elements;
10
+
11
+ vector <int > A (no_of_elements + 1 );
12
+ for (int i = 1 ; i <= no_of_elements; i++)
13
+ {
14
+ cin >> A[i];
15
+ }
16
+
17
+ int likes = 0 , unlikes = 0 ;
18
+ for (int i = 1 ; i <= no_of_elements; i++)
19
+ {
20
+ likes += (A[i] > 0 );
21
+ unlikes += (A[i] < 0 );
22
+ }
23
+
24
+ vector <int > maximum_likes (no_of_elements + 1 );
25
+ for (int i = 1 ; i <= no_of_elements; i++)
26
+ {
27
+ if (i <= likes)
28
+ {
29
+ maximum_likes[i] = maximum_likes[i - 1 ] + 1 ;
30
+ }
31
+ else
32
+ {
33
+ maximum_likes[i] = maximum_likes[i - 1 ] - 1 ;
34
+ }
35
+ }
36
+
37
+ vector <int > minimum_likes (no_of_elements + 1 );
38
+ for (int i = 1 ; i <= no_of_elements; i++)
39
+ {
40
+ if ( (i + 1 )/2 <= unlikes )
41
+ {
42
+ minimum_likes[i] = 1 ;
43
+ minimum_likes[i + 1 ] = 0 ;
44
+ i = i + 1 ;
45
+ }
46
+ else
47
+ {
48
+ minimum_likes[i] = minimum_likes[i - 1 ] + 1 ;
49
+ }
50
+ }
51
+
52
+ for (int i = 1 ; i <= no_of_elements; i++)
53
+ {
54
+ cout << maximum_likes[i] << " " ;
55
+ }
56
+ cout << " \n " ;
57
+
58
+ for (int i = 1 ; i <= no_of_elements; i++)
59
+ {
60
+ cout << minimum_likes[i] << " " ;
61
+ }
62
+ cout << " \n " ;
63
+ }
64
+
65
+ int main ()
66
+ {
67
+ int no_of_test_cases;
68
+ cin >> no_of_test_cases;
69
+
70
+ while (no_of_test_cases--)
71
+ solve ();
72
+
73
+ return 0 ;
74
+ }
Original file line number Diff line number Diff line change
1
+ #include < iostream>
2
+ #include < vector>
3
+
4
+ using namespace std ;
5
+
6
+ void solve ()
7
+ {
8
+ int no_of_days;
9
+ cin >> no_of_days;
10
+
11
+ vector <int > event (no_of_days + 1 );
12
+ for (int i = 1 ; i <= no_of_days; i++)
13
+ {
14
+ cin >> event[i];
15
+ }
16
+
17
+ const int ADOPT = 1 , DOCTOR = 2 ;
18
+ int bought_avaries = 0 , half_avaries = 0 , free_avaries = 0 ;
19
+ for (int i = 1 ; i <= no_of_days; i++)
20
+ {
21
+ switch (event[i])
22
+ {
23
+ case ADOPT :
24
+ {
25
+ if (free_avaries > 0 )
26
+ {
27
+ free_avaries--;
28
+ }
29
+ else
30
+ {
31
+ bought_avaries++;
32
+ }
33
+
34
+ half_avaries++;
35
+
36
+ break ;
37
+ }
38
+
39
+ case DOCTOR :
40
+ {
41
+ int pairs = 0 ;
42
+ if (half_avaries%2 == 0 )
43
+ {
44
+ pairs = (half_avaries - 2 )/2 ;
45
+
46
+ }
47
+ else
48
+ {
49
+ pairs = (half_avaries - 1 )/2 ;
50
+ }
51
+
52
+ free_avaries += pairs;
53
+ half_avaries -= 2 *pairs;
54
+ break ;
55
+ }
56
+ }
57
+ }
58
+
59
+ cout << bought_avaries << " \n " ;
60
+ }
61
+
62
+ int main ()
63
+ {
64
+ int no_of_test_cases;
65
+ cin >> no_of_test_cases;
66
+
67
+ while (no_of_test_cases--)
68
+ solve ();
69
+
70
+ return 0 ;
71
+ }
72
+
Original file line number Diff line number Diff line change
1
+ #include < iostream>
2
+ #include < vector>
3
+ #include < set>
4
+
5
+ using namespace std ;
6
+
7
+ void solve ()
8
+ {
9
+ int rows, columns;
10
+ cin >> rows >> columns;
11
+
12
+ vector <vector <long long > > M (rows + 1 , vector <long long > (columns + 1 ));
13
+ for (int i = 1 , cell_no = 0 ; i <= rows; i++)
14
+ {
15
+ M[i][1 ] = cell_no++;
16
+ M[i][2 ] = cell_no++;
17
+ }
18
+
19
+ for (int i = 1 ; i <= rows; i++)
20
+ {
21
+ for (int j = 3 ; j <= columns; j++)
22
+ {
23
+ long long offset = (j << 9 );
24
+ int reference_column = (j%2 == 1 ? 1 : 2 );
25
+
26
+ M[i][j] = M[i][reference_column]^offset;
27
+ M[i][j] = M[i][reference_column]^offset;
28
+ }
29
+ }
30
+
31
+ cout << rows*columns << " \n " ;
32
+ for (int i = 1 ; i <= rows; i++)
33
+ {
34
+ for (int j = 1 ; j <= columns; j++)
35
+ {
36
+ cout << M[i][j] << " " ;
37
+ }
38
+
39
+ cout << " \n " ;
40
+ }
41
+ }
42
+
43
+ int main ()
44
+ {
45
+ ios_base::sync_with_stdio (false );
46
+ cin.tie (NULL );
47
+
48
+ int no_of_test_cases;
49
+ cin >> no_of_test_cases;
50
+
51
+ while (no_of_test_cases--)
52
+ solve ();
53
+
54
+ return 0 ;
55
+ }
56
+
57
+
You can’t perform that action at this time.
0 commit comments