File tree Expand file tree Collapse file tree 2 files changed +103
-0
lines changed
2022/Contests/Div 2/792/Programs Expand file tree Collapse file tree 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