aboutsummaryrefslogtreecommitdiff
path: root/contests/Round828
diff options
context:
space:
mode:
Diffstat (limited to 'contests/Round828')
-rwxr-xr-xcontests/Round828/A/mainbin0 -> 32240 bytes
-rwxr-xr-xcontests/Round828/A/main.cpp53
-rwxr-xr-xcontests/Round828/A/main_input0.txt10
-rwxr-xr-xcontests/Round828/A/main_output0.txt9
-rwxr-xr-xcontests/Round828/B/mainbin0 -> 24056 bytes
-rwxr-xr-xcontests/Round828/B/main.cpp54
-rwxr-xr-xcontests/Round828/B/main_input0.txt11
-rwxr-xr-xcontests/Round828/B/main_output0.txt5
-rwxr-xr-xcontests/Round828/C/mainbin0 -> 46808 bytes
-rwxr-xr-xcontests/Round828/C/main.cpp62
-rwxr-xr-xcontests/Round828/C/main_input0.txt11
-rwxr-xr-xcontests/Round828/C/main_output0.txt5
-rwxr-xr-xcontests/Round828/D/mainbin0 -> 38880 bytes
-rwxr-xr-xcontests/Round828/D/main.cpp68
-rwxr-xr-xcontests/Round828/D/main_input0.txt13
-rwxr-xr-xcontests/Round828/D/main_output0.txt6
-rwxr-xr-xcontests/Round828/E/main.cpp79
-rwxr-xr-xcontests/Round828/Round#828/A/mainbin0 -> 59888 bytes
-rwxr-xr-xcontests/Round828/Round#828/A/main.cpp39
-rwxr-xr-xcontests/Round828/Round#828/B/mainbin0 -> 26712 bytes
-rwxr-xr-xcontests/Round828/Round#828/B/main.cpp48
-rwxr-xr-xcontests/Round828/Round#828/B/main_input0.txt27
-rwxr-xr-xcontests/Round828/Round#828/B/main_output0.txt18
-rwxr-xr-xcontests/Round828/Round#828/C/mainbin0 -> 51696 bytes
-rwxr-xr-xcontests/Round828/Round#828/C/main.cpp48
-rwxr-xr-xcontests/Round828/Round#828/C/main_input0.txt13
-rwxr-xr-xcontests/Round828/Round#828/C/main_output0.txt6
-rwxr-xr-xcontests/Round828/Round#828/D/main.cpp20
-rwxr-xr-xcontests/Round828/Round#828/E/main.cpp20
-rwxr-xr-xcontests/Round828/Round#828/F/main.cpp20
30 files changed, 645 insertions, 0 deletions
diff --git a/contests/Round828/A/main b/contests/Round828/A/main
new file mode 100755
index 0000000..b39bf39
--- /dev/null
+++ b/contests/Round828/A/main
Binary files differ
diff --git a/contests/Round828/A/main.cpp b/contests/Round828/A/main.cpp
new file mode 100755
index 0000000..5cff2f4
--- /dev/null
+++ b/contests/Round828/A/main.cpp
@@ -0,0 +1,53 @@
+#include<bits/stdc++.h>
+
+using namespace std;
+
+using ll = long long;
+using pi = pair<int, int>;
+using vpi = vector<pi>;
+using vi = vector<int>;
+using vll = vector<long long>;
+using mpii = map<int, int>;
+using mpll = map<ll, ll>;
+using db = long double;
+
+#define push_back pb
+#define all(x) (x).begin(), (x).end()
+#define rall(x) (x).rbegin(), (x).rend()
+#define lb lower_bound
+#define ub upper_bound
+
+const int MOD = (int)1e9 + 7;
+const db PI = acos((db)-1);
+const int dx[4]{1, 0, -1, 0};
+const int dy[4]{0, 1, 0, -1};
+
+int solve() {
+ vi v(3);
+ for (auto &x : v) cin >> x;
+ for (auto x : v) {
+ if (x != *min_element(all(v)) && x != *max_element(all(v))) {
+ return x;
+ }
+ }
+ return 1;
+}
+
+int main () {
+ ios_base::sync_with_stdio(false);
+ cin.tie(NULL);
+ int tt;
+ cin >> tt;
+ while(tt--) {
+ cout << solve() << '\n';
+ }
+}
+
+/* stuff you should look for:
+ ---------------------------
+ * special cases (n=1?)
+ * int overflow, array bounds
+ * do smth instead of nothing and stay organized
+ * WRITE STUFF DOWN
+ * DON'T GET STUCK ON ONE APPROACH
+ */
diff --git a/contests/Round828/A/main_input0.txt b/contests/Round828/A/main_input0.txt
new file mode 100755
index 0000000..20645c8
--- /dev/null
+++ b/contests/Round828/A/main_input0.txt
@@ -0,0 +1,10 @@
+9
+5 2 6
+14 3 4
+20 2 1
+1 2 3
+11 19 12
+10 8 20
+6 20 3
+4 1 3
+19 8 4
diff --git a/contests/Round828/A/main_output0.txt b/contests/Round828/A/main_output0.txt
new file mode 100755
index 0000000..2566454
--- /dev/null
+++ b/contests/Round828/A/main_output0.txt
@@ -0,0 +1,9 @@
+5
+4
+2
+2
+12
+10
+6
+3
+8
diff --git a/contests/Round828/B/main b/contests/Round828/B/main
new file mode 100755
index 0000000..adfafe9
--- /dev/null
+++ b/contests/Round828/B/main
Binary files differ
diff --git a/contests/Round828/B/main.cpp b/contests/Round828/B/main.cpp
new file mode 100755
index 0000000..0386895
--- /dev/null
+++ b/contests/Round828/B/main.cpp
@@ -0,0 +1,54 @@
+#include<bits/stdc++.h>
+
+using namespace std;
+
+using ll = long long;
+using pi = pair<int, int>;
+using vpi = vector<pi>;
+using vi = vector<int>;
+using vll = vector<long long>;
+using mpii = map<int, int>;
+using mpll = map<ll, ll>;
+using db = long double;
+
+#define push_back pb
+#define all(x) (x).begin(), (x).end()
+#define rall(x) (x).rbegin(), (x).rend()
+#define lb lower_bound
+#define ub upper_bound
+
+const int MOD = (int)1e9 + 7;
+const db PI = acos((db)-1);
+const int dx[4]{1, 0, -1, 0};
+const int dy[4]{0, 1, 0, -1};
+
+void solve() {
+ int n;
+ string s;
+ cin >> n;
+ cin >> s;
+ int mx = 0;
+ for (auto ch : s) {
+ mx = max(mx, ch - 'a');
+ }
+ cout << mx + 1 << '\n';
+}
+
+int main () {
+ ios_base::sync_with_stdio(false);
+ cin.tie(NULL);
+ int tt;
+ cin >> tt;
+ while(tt--) {
+ solve();
+ }
+}
+
+/* stuff you should look for:
+ ---------------------------
+ * special cases (n=1?)
+ * int overflow, array bounds
+ * do smth instead of nothing and stay organized
+ * WRITE STUFF DOWN
+ * DON'T GET STUCK ON ONE APPROACH
+ */
diff --git a/contests/Round828/B/main_input0.txt b/contests/Round828/B/main_input0.txt
new file mode 100755
index 0000000..f0d2637
--- /dev/null
+++ b/contests/Round828/B/main_input0.txt
@@ -0,0 +1,11 @@
+5
+1
+a
+4
+down
+10
+codeforces
+3
+bcf
+5
+zzzzz
diff --git a/contests/Round828/B/main_output0.txt b/contests/Round828/B/main_output0.txt
new file mode 100755
index 0000000..6dbbf0d
--- /dev/null
+++ b/contests/Round828/B/main_output0.txt
@@ -0,0 +1,5 @@
+1
+23
+19
+6
+26
diff --git a/contests/Round828/C/main b/contests/Round828/C/main
new file mode 100755
index 0000000..e256625
--- /dev/null
+++ b/contests/Round828/C/main
Binary files differ
diff --git a/contests/Round828/C/main.cpp b/contests/Round828/C/main.cpp
new file mode 100755
index 0000000..a5ec56e
--- /dev/null
+++ b/contests/Round828/C/main.cpp
@@ -0,0 +1,62 @@
+#include<bits/stdc++.h>
+
+using namespace std;
+
+using ll = long long;
+using pi = pair<int, int>;
+using vpi = vector<pi>;
+using vi = vector<int>;
+using vll = vector<long long>;
+using mpii = map<int, int>;
+using mpll = map<ll, ll>;
+using db = long double;
+
+#define push_back pb
+#define all(x) (x).begin(), (x).end()
+#define rall(x) (x).rbegin(), (x).rend()
+#define lb lower_bound
+#define ub upper_bound
+
+const int MOD = (int)1e9 + 7;
+const db PI = acos((db)-1);
+const int dx[4]{1, 0, -1, 0};
+const int dy[4]{0, 1, 0, -1};
+
+void solve() {
+ int n;
+ cin >> n;
+ vi v(n);
+ for (auto &x : v) cin >> x;
+ vi tmp = v;
+ sort(all(tmp));
+ for (int i = 0; i < n; i++) {
+ if (v[i] != tmp[n - 1]) {
+ v[i] = v[i] - tmp[n - 1];
+ } else {
+ v[i] = v[i] - tmp[n - 2];
+ }
+ }
+ for (auto x : v) {
+ cout << x << " ";
+ }
+ cout << '\n';
+}
+
+int main () {
+ ios_base::sync_with_stdio(false);
+ cin.tie(NULL);
+ int tt;
+ cin >> tt;
+ while(tt--) {
+ solve();
+ }
+}
+
+/* stuff you should look for:
+ ---------------------------
+ * special cases (n=1?)
+ * int overflow, array bounds
+ * do smth instead of nothing and stay organized
+ * WRITE STUFF DOWN
+ * DON'T GET STUCK ON ONE APPROACH
+ */
diff --git a/contests/Round828/C/main_input0.txt b/contests/Round828/C/main_input0.txt
new file mode 100755
index 0000000..f5f056a
--- /dev/null
+++ b/contests/Round828/C/main_input0.txt
@@ -0,0 +1,11 @@
+5
+4
+4 7 3 5
+2
+1 2
+5
+1 2 3 4 5
+3
+4 9 4
+4
+4 4 4 4
diff --git a/contests/Round828/C/main_output0.txt b/contests/Round828/C/main_output0.txt
new file mode 100755
index 0000000..38fa177
--- /dev/null
+++ b/contests/Round828/C/main_output0.txt
@@ -0,0 +1,5 @@
+-3 2 -4 -2
+-1 1
+-4 -3 -2 -1 1
+-5 5 -5
+0 0 0 0
diff --git a/contests/Round828/D/main b/contests/Round828/D/main
new file mode 100755
index 0000000..3098cf7
--- /dev/null
+++ b/contests/Round828/D/main
Binary files differ
diff --git a/contests/Round828/D/main.cpp b/contests/Round828/D/main.cpp
new file mode 100755
index 0000000..cd81147
--- /dev/null
+++ b/contests/Round828/D/main.cpp
@@ -0,0 +1,68 @@
+#include <algorithm>
+#include <bits/stdc++.h>
+#include <tuple>
+
+using namespace std;
+
+using ll = long long;
+using pi = pair<int, int>;
+using vpi = vector<pi>;
+using vi = vector<int>;
+using vll = vector<long long>;
+using mpii = map<int, int>;
+using mpll = map<ll, ll>;
+using db = long double;
+
+#define pb push_back
+#define all(x) (x).begin(), (x).end()
+#define rall(x) (x).rbegin(), (x).rend()
+#define lb lower_bound
+#define ub upper_bound
+
+const int MOD = (int)1e9 + 7;
+const db PI = acos((db)-1);
+const int dx[4]{1, 0, -1, 0};
+const int dy[4]{0, 1, 0, -1};
+
+int countVallyes(vi &v) {
+ int cnt = 0;
+ for (int i = 1; i < v.size() - 1; i++) {
+ if (v[i] < v[i - 1] && v[i] < v[i + 1]) {
+ cnt++;
+ }
+ }
+ return cnt;
+}
+
+void solve() {
+ int n;
+ cin >> n;
+ vi v(n + 2);
+ v[0] = INT_MAX;
+ v[n + 1] = INT_MAX;
+ for (int i = 1; i < n + 1; i++) {
+ cin >> v[i];
+ }
+ auto it = unique(all(v));
+ vi a = vector<int>(v.begin(), it);
+ cout << (countVallyes(a) == 1 ? "YES" : "NO") << '\n';
+}
+
+int main() {
+ ios_base::sync_with_stdio(false);
+ cin.tie(NULL);
+ int tt;
+ cin >> tt;
+ while (tt--) {
+ solve();
+ }
+}
+
+/* stuff you should look for:
+ ---------------------------
+ * special cases (n=1?)
+ * int overflow, array bounds
+ * do smth instead of nothing and stay organized
+ * WRITE STUFF DOWN
+ * DON'T GET STUCK ON ONE APPROACH
+ */
diff --git a/contests/Round828/D/main_input0.txt b/contests/Round828/D/main_input0.txt
new file mode 100755
index 0000000..5588b9f
--- /dev/null
+++ b/contests/Round828/D/main_input0.txt
@@ -0,0 +1,13 @@
+6
+7
+3 2 2 1 2 2 3
+11
+1 1 1 2 3 3 4 5 6 6 6
+7
+1 2 3 4 3 2 1
+7
+9 7 4 6 9 9 10
+1
+1000000000
+8
+9 4 4 5 9 4 9 10
diff --git a/contests/Round828/D/main_output0.txt b/contests/Round828/D/main_output0.txt
new file mode 100755
index 0000000..659e1d2
--- /dev/null
+++ b/contests/Round828/D/main_output0.txt
@@ -0,0 +1,6 @@
+YES
+YES
+NO
+YES
+YES
+NO
diff --git a/contests/Round828/E/main.cpp b/contests/Round828/E/main.cpp
new file mode 100755
index 0000000..68691f8
--- /dev/null
+++ b/contests/Round828/E/main.cpp
@@ -0,0 +1,79 @@
+#include <bits/stdc++.h>
+#include <tuple>
+
+using namespace std;
+
+using ll = long long;
+using pi = pair<int, int>;
+using vpi = vector<pi>;
+using vi = vector<int>;
+using vll = vector<long long>;
+using mpii = map<int, int>;
+using mpll = map<ll, ll>;
+using db = long double;
+
+#define push_back pb
+#define all(x) (x).begin(), (x).end()
+#define rall(x) (x).rbegin(), (x).rend()
+#define lb lower_bound
+#define ub upper_bound
+
+const int MOD = (int)1e9 + 7;
+const db PI = acos((db)-1);
+const int dx[4]{1, 0, -1, 0};
+const int dy[4]{0, 1, 0, -1};
+
+auto helper(vi &v) {
+ ll ans = 0, zc = 0;
+ for (int i = v.size() - 1; i >= 0; i--) {
+ (v[i] == 0 ? zc++ : ans += zc);
+ }
+ return ans;
+}
+
+void solve() {
+ int n;
+ cin >> n;
+ vi v(n), v1(n), v2(n);
+ for (int i = 0; i < n; i++) {
+ cin >> v[i];
+ }
+ v1 = v;
+ v2 = v;
+ for (auto &x : v1) {
+ if (x == 0) {
+ x = 1;
+ break;
+ }
+ }
+ for (int i = n - 1; i >= 0; i--) {
+ if (v2[i] == 1) {
+ v2[i] = 0;
+ break;
+ }
+ }
+ ll og = helper(v);
+ ll l = helper(v1);
+ ll r = helper(v2);
+ cout << max(og, max(r, l)) << '\n';
+}
+
+int main() {
+ ios_base::sync_with_stdio(false);
+ cin.tie(NULL);
+ int tt;
+ cin >> tt;
+ while (tt--) {
+ solve();
+ }
+}
+
+/* stuff you should look for:
+ ---------------------------
+ * special cases (n=1?)
+ * int overflow, array bounds
+ * do smth instead of nothing and stay organized
+ * WRITE STUFF DOWN
+ * DON'T GET STUCK ON ONE APPROACH
+ */
+
diff --git a/contests/Round828/Round#828/A/main b/contests/Round828/Round#828/A/main
new file mode 100755
index 0000000..e25915f
--- /dev/null
+++ b/contests/Round828/Round#828/A/main
Binary files differ
diff --git a/contests/Round828/Round#828/A/main.cpp b/contests/Round828/Round#828/A/main.cpp
new file mode 100755
index 0000000..62a742b
--- /dev/null
+++ b/contests/Round828/Round#828/A/main.cpp
@@ -0,0 +1,39 @@
+#include<bits/stdc++.h>
+
+using namespace std;
+
+typedef long long ll;
+typedef pair<int, int> ii;
+typedef vector<ii> vii;
+typedef vector<int> vi;
+
+#define INF 1000000000
+
+string buildString(map<int, char> &mp, vi &v) {
+ string s = "";
+ for (auto x : v) {
+ s.push_back(mp[x]);
+ }
+ return s;
+}
+
+int main () {
+ ios_base::sync_with_stdio(false);
+ cin.tie(NULL);
+ int tt;
+ cin >> tt;
+ while(tt--) {
+ int n;
+ cin >> n;
+ vi v(n);
+ for (auto &x : v) cin >> x;
+ string s;
+ cin >> s;
+ map<int, char> mp;
+ for (int i = 0; i < n; i++) {
+ mp[v[i]] = s[i];
+ }
+ // cerr << buildString(mp,v) << '\n';
+ cout << (s == buildString(mp, v) ? "YES" : "NO") << '\n';
+ }
+}
diff --git a/contests/Round828/Round#828/B/main b/contests/Round828/Round#828/B/main
new file mode 100755
index 0000000..ff0612d
--- /dev/null
+++ b/contests/Round828/Round#828/B/main
Binary files differ
diff --git a/contests/Round828/Round#828/B/main.cpp b/contests/Round828/Round#828/B/main.cpp
new file mode 100755
index 0000000..e2d3d5d
--- /dev/null
+++ b/contests/Round828/Round#828/B/main.cpp
@@ -0,0 +1,48 @@
+#include<bits/stdc++.h>
+
+using namespace std;
+
+typedef long long ll;
+typedef pair<int, int> ii;
+typedef vector<ii> vii;
+typedef vector<int> vi;
+
+#define INF 1000000000
+
+int main () {
+ ios_base::sync_with_stdio(false);
+ cin.tie(NULL);
+ int tt;
+ cin >> tt;
+ while(tt--) {
+ int n, q;
+ cin >> n >> q;
+ vector<long long> v(n);
+ int even = 0, odd = 0;
+ long long ans = 0;
+ for (int i = 0 ; i < n; i++) {
+ cin >> v[i];
+ odd += (v[i] & 1);
+ ans += v[i];
+ }
+ even = n - odd;
+ while (q--) {
+ int t, x;
+ cin >> t >> x;
+ if (t == 0) {
+ ans += even * x;
+ if (x & 1) {
+ odd += even;
+ even = 0;
+ }
+ } else {
+ ans += odd * x;
+ if (x & 1) {
+ even += odd;
+ odd = 0;
+ }
+ }
+ cout << ans << '\n';
+ }
+ }
+}
diff --git a/contests/Round828/Round#828/B/main_input0.txt b/contests/Round828/Round#828/B/main_input0.txt
new file mode 100755
index 0000000..2a62cb5
--- /dev/null
+++ b/contests/Round828/Round#828/B/main_input0.txt
@@ -0,0 +1,27 @@
+4
+1 1
+1
+1 1
+3 3
+1 2 4
+0 2
+1 3
+0 5
+6 7
+1 3 2 4 10 48
+1 6
+0 5
+0 4
+0 5
+1 3
+0 12
+0 1
+6 7
+1000000000 1000000000 1000000000 11 15 17
+0 17
+1 10000
+1 51
+0 92
+0 53
+1 16
+0 1
diff --git a/contests/Round828/Round#828/B/main_output0.txt b/contests/Round828/Round#828/B/main_output0.txt
new file mode 100755
index 0000000..6427631
--- /dev/null
+++ b/contests/Round828/Round#828/B/main_output0.txt
@@ -0,0 +1,18 @@
+2
+11
+14
+29
+80
+100
+100
+100
+118
+190
+196
+3000000094
+3000060094
+3000060400
+3000060952
+3000061270
+3000061366
+3000061366
diff --git a/contests/Round828/Round#828/C/main b/contests/Round828/Round#828/C/main
new file mode 100755
index 0000000..6931c26
--- /dev/null
+++ b/contests/Round828/Round#828/C/main
Binary files differ
diff --git a/contests/Round828/Round#828/C/main.cpp b/contests/Round828/Round#828/C/main.cpp
new file mode 100755
index 0000000..a69f265
--- /dev/null
+++ b/contests/Round828/Round#828/C/main.cpp
@@ -0,0 +1,48 @@
+#include<bits/stdc++.h>
+
+using namespace std;
+
+int main () {
+ ios_base::sync_with_stdio(false);
+ cin.tie(NULL);
+ int tt;
+ cin >> tt;
+ while(tt--) {
+ int n;
+ cin >> n;
+ int m = 0, mx = 0;
+ for (int i = 0; i < n; i++) {
+ int x;
+ cin >> x;
+ while (x % 2 == 0) {
+ x /= 2;
+ m += 1;
+ }
+ }
+ if (m >= n) {
+ cout << 0 << '\n';
+ } else {
+ int d = n - m, ans = 0;
+ vector<int> a;
+ for (int i = n; i >= 1; i--) {
+ int j = i, cnt = 0;
+ while (j % 2 == 0) {
+ cnt += 1;
+ j /= 2;
+ }
+ if (cnt != 0) {
+ a.push_back(cnt);
+ }
+ }
+ sort(a.rbegin(), a.rend());
+ for (int i = 0; i < (int)a.size(); i++) {
+ ans += 1;
+ d -= a[i];
+ if (d <= 0) {
+ break;
+ }
+ }
+ cout << (d <= 0 ? ans : -1) << '\n';
+ }
+ }
+}
diff --git a/contests/Round828/Round#828/C/main_input0.txt b/contests/Round828/Round#828/C/main_input0.txt
new file mode 100755
index 0000000..c507f1f
--- /dev/null
+++ b/contests/Round828/Round#828/C/main_input0.txt
@@ -0,0 +1,13 @@
+6
+1
+2
+2
+3 2
+3
+10 6 11
+4
+13 17 1 1
+5
+1 1 12 1 1
+6
+20 7 14 18 3 5 \ No newline at end of file
diff --git a/contests/Round828/Round#828/C/main_output0.txt b/contests/Round828/Round#828/C/main_output0.txt
new file mode 100755
index 0000000..994d708
--- /dev/null
+++ b/contests/Round828/Round#828/C/main_output0.txt
@@ -0,0 +1,6 @@
+0
+1
+1
+-1
+2
+1 \ No newline at end of file
diff --git a/contests/Round828/Round#828/D/main.cpp b/contests/Round828/Round#828/D/main.cpp
new file mode 100755
index 0000000..8b6b654
--- /dev/null
+++ b/contests/Round828/Round#828/D/main.cpp
@@ -0,0 +1,20 @@
+#include<bits/stdc++.h>
+
+using namespace std;
+
+typedef long long ll;
+typedef pair<int, int> ii;
+typedef vector<ii> vii;
+typedef vector<int> vi;
+
+#define INF 1000000000
+
+int main () {
+ ios_base::sync_with_stdio(false);
+ cin.tie(NULL);
+ int tt;
+ cin >> tt;
+ while(tt--) {
+
+ }
+}
diff --git a/contests/Round828/Round#828/E/main.cpp b/contests/Round828/Round#828/E/main.cpp
new file mode 100755
index 0000000..8b6b654
--- /dev/null
+++ b/contests/Round828/Round#828/E/main.cpp
@@ -0,0 +1,20 @@
+#include<bits/stdc++.h>
+
+using namespace std;
+
+typedef long long ll;
+typedef pair<int, int> ii;
+typedef vector<ii> vii;
+typedef vector<int> vi;
+
+#define INF 1000000000
+
+int main () {
+ ios_base::sync_with_stdio(false);
+ cin.tie(NULL);
+ int tt;
+ cin >> tt;
+ while(tt--) {
+
+ }
+}
diff --git a/contests/Round828/Round#828/F/main.cpp b/contests/Round828/Round#828/F/main.cpp
new file mode 100755
index 0000000..8b6b654
--- /dev/null
+++ b/contests/Round828/Round#828/F/main.cpp
@@ -0,0 +1,20 @@
+#include<bits/stdc++.h>
+
+using namespace std;
+
+typedef long long ll;
+typedef pair<int, int> ii;
+typedef vector<ii> vii;
+typedef vector<int> vi;
+
+#define INF 1000000000
+
+int main () {
+ ios_base::sync_with_stdio(false);
+ cin.tie(NULL);
+ int tt;
+ cin >> tt;
+ while(tt--) {
+
+ }
+}