File tree 2 files changed +103
-0
lines changed
2022/Contests/Div 2/792/Programs
2 files changed +103
-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
+ long long no_of_wheels;
9
+ cin >> no_of_wheels;
10
+
11
+ long long minimum, maximum;
12
+ switch (no_of_wheels%4 )
13
+ {
14
+ case 0 : maximum = no_of_wheels/4 ;
15
+ minimum = 2 *(no_of_wheels/12 ) + (no_of_wheels%12 == 6 ? (no_of_wheels%12 )/6 : (no_of_wheels%12 )/4 );
16
+ break ;
17
+
18
+ case 2 : if (no_of_wheels == 2 )
19
+ {
20
+ cout << " -1\n " ;
21
+ return ;
22
+ }
23
+ maximum = 1 + (no_of_wheels - 6 )/4 ;
24
+ no_of_wheels -= 6 ;
25
+ minimum = 1 + 2 *(no_of_wheels/12 ) + (no_of_wheels%12 == 6 ? (no_of_wheels%12 )/6 : (no_of_wheels%12 )/4 );
26
+ break ;
27
+
28
+ default : cout << " -1\n " ;
29
+ return ;
30
+ }
31
+
32
+ cout << minimum << " " << maximum << " \n " ;
33
+ }
34
+
35
+ int main ()
36
+ {
37
+ int no_of_test_cases;
38
+ cin >> no_of_test_cases;
39
+
40
+ while (no_of_test_cases--)
41
+ solve ();
42
+
43
+ return 0 ;
44
+ }
Original file line number Diff line number Diff line change
1
+ #include < iostream>
2
+ #include < vector>
3
+
4
+ using namespace std ;
5
+
6
+ int main ()
7
+ {
8
+ int no_of_elements, no_of_queries;
9
+ cin >> no_of_elements >> no_of_queries;
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
+ long long sum = 0 ;
18
+ for (int i = 1 ; i <= no_of_elements; i++)
19
+ {
20
+ sum += A[i];
21
+ }
22
+
23
+ int last_replace_all_time = -1 , last_replace_all_value = 0 ;
24
+ vector <int > last_touched (no_of_elements + 1 , 0 );
25
+ for (int i = 1 ; i <= no_of_queries; i++)
26
+ {
27
+ const int REPLACE_ONE = 1 , REPLACE_ALL = 2 ;
28
+ int query, index , value;
29
+ cin >> query;
30
+
31
+ switch (query)
32
+ {
33
+ case REPLACE_ONE: cin >> index >> value;
34
+ if (last_touched[index ] > last_replace_all_time)
35
+ {
36
+ sum += (value - A[index ]);
37
+ }
38
+ else
39
+ {
40
+ sum += (value - last_replace_all_value);
41
+ }
42
+
43
+ A[index ] = value;
44
+ last_touched[index ] = i;
45
+ break ;
46
+
47
+ case REPLACE_ALL: cin >> value;
48
+
49
+ sum = no_of_elements*1LL *value;
50
+
51
+ last_replace_all_value = value;
52
+ last_replace_all_time = i;
53
+ }
54
+
55
+ cout << sum << " \n " ;
56
+ }
57
+
58
+ return 0 ;
59
+ }
You can’t perform that action at this time.
0 commit comments