Skip to content

Commit c377315

Browse files
Add files via upload
1 parent 8860e7a commit c377315

File tree

5 files changed

+142
-0
lines changed

5 files changed

+142
-0
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
for _ in range(int(input())):
2+
s = input()
3+
print(s[:-2] + 'i')
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
for _ in range(int(input())):
2+
s = input()
3+
can = any([s[i] == s[i + 1] for i in range(len(s) - 1)])
4+
print(1 if can else len(s))
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#pragma GCC optimize("Ofast")
2+
#pragma GCC optimize("unroll-loops")
3+
#include <bits/stdc++.h>
4+
using namespace std;
5+
6+
typedef long long ll;
7+
typedef vector<int> vi;
8+
#define fast_cin() ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
9+
10+
11+
int main(){
12+
int tc;
13+
cin >> tc;
14+
while (tc--){
15+
int n, m;
16+
cin >> n >> m;
17+
vector<ll> a(n), b(m);
18+
for (int i = 0; i < n; i++){
19+
cin >> a[i];
20+
}
21+
for (int i = 0; i < m; i++){
22+
cin >> b[i];
23+
}
24+
25+
sort(b.begin(), b.end());
26+
ll prev = -1e12;
27+
bool can = true;
28+
for (int i=0; i<n; i++){
29+
int idx = lower_bound(b.begin(), b.end(), a[i] + prev) - b.begin();
30+
ll cur = (idx == m) ? 1e12 : b[idx] - a[i];
31+
if (a[i] < cur && a[i] >= prev){
32+
cur = a[i];
33+
}
34+
35+
if (cur == 1e12){
36+
cout << "NO" << endl;
37+
can = false;
38+
break;
39+
}
40+
else{
41+
prev = cur;
42+
}
43+
}
44+
45+
if (can){
46+
cout << "YES" << endl;
47+
}
48+
}
49+
50+
return 0;
51+
}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#pragma GCC optimize("Ofast")
2+
#pragma GCC optimize("unroll-loops")
3+
#include <bits/stdc++.h>
4+
using namespace std;
5+
6+
typedef long long ll;
7+
typedef vector<int> vi;
8+
#define fast_cin() ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
9+
10+
11+
12+
int main(){
13+
int tc;
14+
cin >> tc;
15+
while (tc--){
16+
int n, m;
17+
cin >> n >> m;
18+
vector<vector<ll>> a(n, vector<ll>(m));
19+
for (int i = 0; i < n; i++){
20+
for (int j = 0; j < m; j++){
21+
cin >> a[i][j];
22+
}
23+
}
24+
vector<ll> sums(n);
25+
for (int i = 0; i < n; i++){
26+
for (int j = 0; j < m; j++){
27+
sums[i] += a[i][j];
28+
}
29+
}
30+
31+
vector<int> perm(n);
32+
iota(perm.begin(), perm.end(), 0);
33+
sort(perm.begin(), perm.end(), [&](int i, int j){
34+
return sums[i] > sums[j];
35+
});
36+
37+
vector<ll> total;
38+
for (int i=0; i<n; i++){
39+
for (int j=0; j<m; j++){
40+
total.push_back(a[perm[i]][j]);
41+
}
42+
}
43+
44+
ll prefix = 0;
45+
ll total_sum = 0;
46+
for (int i=0; i<n*m; i++){
47+
prefix += total[i];
48+
total_sum += prefix;
49+
}
50+
51+
cout << total_sum << endl;
52+
}
53+
54+
55+
return 0;
56+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
for _ in range(int(input())):
2+
n, m, k = map(int, input().split())
3+
4+
if n < k and m < k:
5+
print(-1)
6+
continue
7+
8+
if max(n, m) - min(n, m) > k:
9+
print(-1)
10+
continue
11+
12+
if n > m:
13+
start = 0
14+
else:
15+
start = 1
16+
17+
ans = ""
18+
while n > 0 or m > 0:
19+
if start == 0:
20+
ans += "0" * min(k, n)
21+
n -= min(k, n)
22+
start = 1
23+
else:
24+
ans += "1" * min(k, m)
25+
m -= min(k, m)
26+
start = 0
27+
28+
print(ans)

0 commit comments

Comments
 (0)