Skip to content

Commit ce838ab

Browse files
Add files via upload
1 parent a7a7417 commit ce838ab

File tree

3 files changed

+203
-0
lines changed

3 files changed

+203
-0
lines changed
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
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+
}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
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+
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
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+

0 commit comments

Comments
 (0)