Skip to content

Commit 9d5706d

Browse files
committed
commit on 13 august 2023
1 parent 9cd47f6 commit 9d5706d

9 files changed

+271
-1
lines changed

Diff for: .vscode/settings.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
{
22
"files.associations": {
33
"iostream": "cpp",
4-
"unordered_map": "cpp"
4+
"unordered_map": "cpp",
5+
"ostream": "cpp",
6+
"cmath": "cpp"
57
}
68
}

Diff for: 0001A_theatre_square.cpp

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#include<iostream>
2+
#include<algorithm>
3+
#include<array>
4+
#include<vector>
5+
#include<map>
6+
#include<cmath>
7+
using namespace std;
8+
int main()
9+
{
10+
long double a, n, m, temp;
11+
12+
cout.precision(22); // acc to testcases
13+
cin >> n >> m >> a;
14+
if(m < n)
15+
{
16+
temp = m;
17+
m = n;
18+
n = temp;
19+
}
20+
21+
if(a >= m)
22+
{
23+
cout << ceil(n/a) << endl;
24+
}
25+
else
26+
{
27+
cout << ceil(m/a)*ceil(n/a) << endl;
28+
}
29+
}

Diff for: 0004A_watermelon.cpp

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#include<iostream>
2+
#include<algorithm>
3+
#include<array>
4+
#include<vector>
5+
#include<map>
6+
#include<cmath>
7+
using namespace std;
8+
int main()
9+
{
10+
int n;
11+
cin>>n;
12+
if(n%2==0 && n>2)
13+
cout<<"YES"<<endl;
14+
else
15+
cout<<"NO"<<endl;
16+
return 0;
17+
}

Diff for: 0050A_domino_piling.cpp

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#include<iostream>
2+
#include<algorithm>
3+
#include<array>
4+
#include<vector>
5+
#include<map>
6+
#include<cmath>
7+
using namespace std;
8+
int main()
9+
{
10+
int m,n;
11+
cin>>m>>n;
12+
if(m*n<2)
13+
{
14+
cout<<"0"<<endl;
15+
return 0;
16+
}
17+
cout<<floor((m*n)/2)<<endl;
18+
return 0;
19+
}

Diff for: 0071A_way_too_long_words.cpp

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#include<iostream>
2+
#include<algorithm>
3+
#include<string>
4+
#include<array>
5+
#include<vector>
6+
#include<map>
7+
#include<cmath>
8+
using namespace std;
9+
int main()
10+
{
11+
long t;
12+
cin>>t;
13+
while(t--)
14+
{
15+
string word;
16+
cin>>word;
17+
if(word.size()>10)
18+
{
19+
int len = word.size();
20+
cout<<word[0]<<len-2<<word[len-1]<<endl;
21+
}
22+
else
23+
{
24+
cout<<word<<endl;
25+
}
26+
}
27+
return 0;
28+
}

Diff for: 0158A_next_round.cpp

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#include <iostream>
2+
#include <algorithm>
3+
#include <array>
4+
#include <vector>
5+
#include <map>
6+
#include <cmath>
7+
using namespace std;
8+
int main()
9+
{
10+
int n, k;
11+
cin >> n >> k;
12+
int a;
13+
for (int i = 0; i < k; ++i)
14+
{
15+
cin >> a;
16+
if (a == 0)
17+
{
18+
cout << i << endl;
19+
return 0;
20+
}
21+
}
22+
23+
int b;
24+
for (int i = k; i < n; ++i)
25+
{
26+
cin >> b;
27+
if (b != a)
28+
{
29+
cout << i << endl;
30+
return 0;
31+
}
32+
}
33+
34+
cout << n << endl;
35+
return 0;
36+
}

Diff for: 0231A_team.cpp

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#include<iostream>
2+
#include<algorithm>
3+
#include<array>
4+
#include<vector>
5+
#include<map>
6+
#include<cmath>
7+
using namespace std;
8+
int main()
9+
{
10+
long t;
11+
cin>>t;
12+
int count=0;
13+
while(t--)
14+
{
15+
int a,b,c;
16+
cin>>a>>b>>c;
17+
if((a+b+c)>=2)
18+
count++;
19+
}
20+
cout<<count<<endl;
21+
return 0;
22+
}

Diff for: 890_contest.cpp

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#include <iostream>
2+
#include <vector>
3+
#include <algorithm>
4+
5+
std::vector<std::vector<int>> adj_list;
6+
std::vector<int> subtree_size;
7+
8+
int dfs(int u, int parent) {
9+
int count = 0;
10+
for (int v : adj_list[u]) {
11+
if (v != parent) {
12+
count += dfs(v, u) + subtree_size[v];
13+
}
14+
}
15+
subtree_size[u] = count;
16+
return count;
17+
}
18+
19+
int findMaxFValue(int n) {
20+
adj_list.resize(n + 1);
21+
subtree_size.assign(n + 1, 0);
22+
23+
// Read the tree edges
24+
for (int i = 2; i <= n; i++) {
25+
int p;
26+
std::cin >> p;
27+
adj_list[p].push_back(i);
28+
}
29+
30+
dfs(1, 0);
31+
32+
int max_f_value = 0;
33+
for (int u = 1; u <= n; u++) {
34+
int f_value = 0;
35+
for (int v : adj_list[u]) {
36+
f_value = std::max(f_value, subtree_size[v]);
37+
}
38+
f_value += (n - subtree_size[u] - 1);
39+
max_f_value = std::max(max_f_value, f_value);
40+
}
41+
42+
return max_f_value;
43+
}
44+
45+
int main() {
46+
int n;
47+
std::cin >> n;
48+
49+
int result = findMaxFValue(n);
50+
std::cout << result << std::endl;
51+
52+
return 0;
53+
}

Diff for: 892_contest.cpp

+64
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
#include <iostream>
2+
#include <algorithm>
3+
#include <array>
4+
#include <vector>
5+
#include <map>
6+
#include <cmath>
7+
using namespace std;
8+
int main()
9+
{
10+
int t;
11+
cin >> t;
12+
while (t--)
13+
{
14+
int n;
15+
cin >> n;
16+
17+
vector<int> a(n, 0);
18+
for (int i = 0; i < n; i++)
19+
{
20+
cin >> a[i];
21+
}
22+
23+
sort(a.begin(), a.end());
24+
25+
vector<int> b, c;
26+
27+
// Separate elements into b and c
28+
b.push_back(a[0]);
29+
for (int i = 1; i < n; i++)
30+
{
31+
for (int j = 0; j < b.size(); j++)
32+
{
33+
if (b[j] % a[i] == 0)
34+
{
35+
b.push_back(a[i]);
36+
}
37+
else
38+
{
39+
c.push_back(a[i]);
40+
}
41+
}
42+
}
43+
44+
if (c.size()==0)
45+
{
46+
cout << "-1" << endl;
47+
}
48+
else
49+
{
50+
cout << b.size() << " " << c.size() << endl;
51+
for (int num : b)
52+
{
53+
cout << num << " ";
54+
}
55+
cout << endl;
56+
for (int num : c)
57+
{
58+
cout << num << " ";
59+
}
60+
cout << endl;
61+
}
62+
}
63+
return 0;
64+
}

0 commit comments

Comments
 (0)