diff options
38 files changed, 483 insertions, 0 deletions
diff --git a/contests/05-05-2022(Div.3)/A/A b/contests/05-05-2022(Div.3)/A/A Binary files differnew file mode 100755 index 0000000..7c1c04e --- /dev/null +++ b/contests/05-05-2022(Div.3)/A/A diff --git a/contests/05-05-2022(Div.3)/A/A.cpp b/contests/05-05-2022(Div.3)/A/A.cpp new file mode 100644 index 0000000..2f5fb6b --- /dev/null +++ b/contests/05-05-2022(Div.3)/A/A.cpp @@ -0,0 +1,42 @@ +#include<bits/stdc++.h> + +using namespace std; + +int main() { + int tt,a,b,c,x,y,remX,remY; + cin >> tt; + while (tt--) { + cin >> a >> b >> c >> x >> y; + if(a > x && b < y) { + remX = 0; + remY = y - b; + } + else if (a < x && b > y) { + remX = x - a; + remY = 0; + } + else if (a > x && b > y) { + remX =0; + remY =0; + } + else { + remX = x - a; + remY = y - b; + } + if(c == 0) { + if(a >= x && b >= y) { + cout << "YES" << endl; + } + else { + cout << "NO" << endl; + } + } + else if(c >= remX + remY) { + cout << "YES" << endl; + } + else { + cout << "NO" << endl; + } + + } +} diff --git a/contests/05-05-2022(Div.3)/B/B b/contests/05-05-2022(Div.3)/B/B Binary files differnew file mode 100755 index 0000000..af9715e --- /dev/null +++ b/contests/05-05-2022(Div.3)/B/B diff --git a/contests/05-05-2022(Div.3)/B/B.cpp b/contests/05-05-2022(Div.3)/B/B.cpp new file mode 100644 index 0000000..27c4853 --- /dev/null +++ b/contests/05-05-2022(Div.3)/B/B.cpp @@ -0,0 +1,48 @@ +#include<bits/stdc++.h> + +using namespace std; + +bool isIncreasing(vector<int> v){ + for(int i = 0; i < v.size() - 1; i++) { + if(v[i] >= v[i+1]) { + return false; + } + } + return true; +} +int getIndex(vector<int> v){ + int index; + for(int i = 0; i < v.size(); i++) { + vector<int> v2(i+1); + for(int j = 0; j <= i;j++){ + index = j; + v2[j] = v[j]; + } + if(!isIncreasing(v2)) { + return index; + } + } + return -1; +} + +int main () { + int tt, n; + cin >> tt; + while(tt--) { + cin >> n; + vector<int> v(n); + for(auto &x : v) { + cin >> x; + } + int idx = getIndex(v); + vector<int> rem(v.size() - idx); + if(idx == -1) { + cout << "0" << endl; + } else { + for(int i = 0;i < v.size() - idx; i++) { + rem[i] = v[idx + i]; + } + } + } + +} diff --git a/contests/05-05-2022(Div.3)/C/C.cpp b/contests/05-05-2022(Div.3)/C/C.cpp new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/contests/05-05-2022(Div.3)/C/C.cpp @@ -0,0 +1 @@ + diff --git a/contests/05-05-2022(Div.3)/C/C.py b/contests/05-05-2022(Div.3)/C/C.py new file mode 100755 index 0000000..422b0f7 --- /dev/null +++ b/contests/05-05-2022(Div.3)/C/C.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python3 + +t = int(input()) +while(t): + t-=1 + s = input() + one = 0 + zero = len(s) - 1 + for i in range(len(s)): + if s[i] == '0': + zero = i + break + for i in range(len(s)): + if s[i] == '1': + one = i + print(zero - one + 1) + diff --git a/contests/05-05-2022(Div.3)/D/D.cpp b/contests/05-05-2022(Div.3)/D/D.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/contests/05-05-2022(Div.3)/D/D.cpp diff --git a/contests/05-05-2022(Div.3)/E/E.cpp b/contests/05-05-2022(Div.3)/E/E.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/contests/05-05-2022(Div.3)/E/E.cpp diff --git a/contests/05-05-2022(Div.3)/F/F.cpp b/contests/05-05-2022(Div.3)/F/F.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/contests/05-05-2022(Div.3)/F/F.cpp diff --git a/contests/08-03-2022(Div.3)/.cph/.A_Deletions_of_Two_Adjacent_Letters.cpp_691f772586c92182cd3ca9396098375f.prob b/contests/08-03-2022(Div.3)/.cph/.A_Deletions_of_Two_Adjacent_Letters.cpp_691f772586c92182cd3ca9396098375f.prob new file mode 100644 index 0000000..52ce51e --- /dev/null +++ b/contests/08-03-2022(Div.3)/.cph/.A_Deletions_of_Two_Adjacent_Letters.cpp_691f772586c92182cd3ca9396098375f.prob @@ -0,0 +1 @@ +{"name":"A. Deletions of Two Adjacent Letters","group":"Codeforces - Codeforces Round #776 (Div. 3)","url":"https://codeforces.com/contest/1650/problem/0","interactive":false,"memoryLimit":256,"timeLimit":2000,"tests":[{"id":1646751197936,"input":"5\nabcde\nc\nabcde\nb\nx\ny\naaaaaaaaaaaaaaa\na\ncontest\nt","output":"YES\nNO\nNO\nYES\nYES"},{"id":1646853307171,"input":"1\nqjjyzcsjy\ns","output":""}],"testType":"single","input":{"type":"stdin"},"output":{"type":"stdout"},"languages":{"java":{"mainClass":"Main","taskClass":"ADeletionsOfTwoAdjacentLetters"}},"batch":{"id":"b130b25d-3d3d-4fce-9d67-8671131df21f","size":1},"srcPath":"/home/peng/test/Problem_Solving/08-03-2022(Div.3)/A_Deletions_of_Two_Adjacent_Letters.cpp"}
\ No newline at end of file diff --git a/contests/08-03-2022(Div.3)/.cph/.B_DIV_MOD.cpp_276b8c89d227db4a79dee1685b9c289c.prob b/contests/08-03-2022(Div.3)/.cph/.B_DIV_MOD.cpp_276b8c89d227db4a79dee1685b9c289c.prob new file mode 100644 index 0000000..7eca9cb --- /dev/null +++ b/contests/08-03-2022(Div.3)/.cph/.B_DIV_MOD.cpp_276b8c89d227db4a79dee1685b9c289c.prob @@ -0,0 +1 @@ +{"name":"B. DIV + MOD","group":"Codeforces - Codeforces Round #776 (Div. 3)","url":"https://codeforces.com/contest/1650/problem/B","interactive":false,"memoryLimit":256,"timeLimit":2000,"tests":[{"id":1646752657834,"input":"5\n1 4 3\n5 8 4\n6 10 6\n1 1000000000 1000000000\n10 12 8","output":"2\n4\n5\n999999999\n5"},{"id":1646833131418,"input":"1\n1 100 1","output":"100"}],"testType":"single","input":{"type":"stdin"},"output":{"type":"stdout"},"languages":{"java":{"mainClass":"Main","taskClass":"BDIVMOD"}},"batch":{"id":"18dc3187-28ba-42e4-adb6-b241bf475a66","size":1},"srcPath":"/home/peng/test/Problem_Solving/08-03-2022(Div.3)/B_DIV_MOD.cpp"}
\ No newline at end of file diff --git a/contests/08-03-2022(Div.3)/A b/contests/08-03-2022(Div.3)/A Binary files differnew file mode 100755 index 0000000..a2ce84f --- /dev/null +++ b/contests/08-03-2022(Div.3)/A diff --git a/contests/08-03-2022(Div.3)/A.cpp b/contests/08-03-2022(Div.3)/A.cpp new file mode 100644 index 0000000..741b57a --- /dev/null +++ b/contests/08-03-2022(Div.3)/A.cpp @@ -0,0 +1,25 @@ +#include<bits/stdc++.h> + +using namespace std; + +int main(){ + int tt; + cin >> tt; + while(tt--){ + string word; + char ch; + cin >> word; + cin >> ch; + int len = word.length(); + if(word[len/2 + 1] == ch){ + cout << word[len/2 + 1] << endl; + cout << ch << endl; + cout << "YES" << "\n"; + } + else{ + cout << "NO" << "\n"; + } + } + + return 0; +}
\ No newline at end of file diff --git a/contests/08-03-2022(Div.3)/A_Deletions_of_Two_Adjacent_Letters b/contests/08-03-2022(Div.3)/A_Deletions_of_Two_Adjacent_Letters Binary files differnew file mode 100755 index 0000000..c79eb1d --- /dev/null +++ b/contests/08-03-2022(Div.3)/A_Deletions_of_Two_Adjacent_Letters diff --git a/contests/08-03-2022(Div.3)/A_Deletions_of_Two_Adjacent_Letters.cpp b/contests/08-03-2022(Div.3)/A_Deletions_of_Two_Adjacent_Letters.cpp new file mode 100644 index 0000000..3f7daa2 --- /dev/null +++ b/contests/08-03-2022(Div.3)/A_Deletions_of_Two_Adjacent_Letters.cpp @@ -0,0 +1,37 @@ +#include<bits/stdc++.h> + +using namespace std; + +void findMultOcc(vector<int> &indices, string str, char ch){ + for(int i = 0; i < str.length();i++){ + if(str[i] == ch){ + indices.push_back(i); + } + } +} + +string solve(vector<int> indices){ + for(int i = 0; i < indices.size(); i++) + { + if(indices[i] >= 0 && indices[i] % 2 == 0){ + return "YES"; + } + } + return "NO"; +} + +int main(){ + int tt; + cin >> tt; + while(tt--){ + vector<int> indices; + string word; + char ch; + cin >> word; + cin >> ch; + findMultOcc(indices, word, ch); + cout << solve(indices) << '\n'; + } + + return 0; +} diff --git a/contests/08-03-2022(Div.3)/B b/contests/08-03-2022(Div.3)/B Binary files differnew file mode 100755 index 0000000..b11c838 --- /dev/null +++ b/contests/08-03-2022(Div.3)/B diff --git a/contests/08-03-2022(Div.3)/B.cpp b/contests/08-03-2022(Div.3)/B.cpp new file mode 100644 index 0000000..dd8bb54 --- /dev/null +++ b/contests/08-03-2022(Div.3)/B.cpp @@ -0,0 +1,23 @@ +#include<bits/stdc++.h> + +using namespace std; + +int modDiv(int r, int a){ + // law r % a == 0, return r-1 % a + r-1 /a, else return r % a + r /a; + if(r % a == 0){ + return (r-1) % a + (r-1)/a; + } + return r % a + r / a; +} + +int main(){ + int tt; + while(tt--){ + cout << "tt: " << tt; + int l, r, a; + cin >> l >> r >> a; + cout << modDiv(r, a); + } + + return 0; +}
\ No newline at end of file diff --git a/contests/08-03-2022(Div.3)/B_DIV_MOD.cpp b/contests/08-03-2022(Div.3)/B_DIV_MOD.cpp new file mode 100644 index 0000000..f861b3b --- /dev/null +++ b/contests/08-03-2022(Div.3)/B_DIV_MOD.cpp @@ -0,0 +1,23 @@ +#include<bits/stdc++.h> + +using namespace std; + +int modDiv(int r, int a){ + // law r % a == 0, return r-1 % a + r-1 /a, else return r % a + r /a; + if(r % a == 0){ + return (r-1) % a + (r-1)/a; + } + return r % a + r / a; +} + +int main(){ + int tt; + cin >> tt; + while(tt--){ + int l, r, a; + cin >> l >> r >> a; + cout << modDiv(r, a) << endl; + } + + return 0; +} diff --git a/contests/08-03-2022(Div.3)/C.cpp b/contests/08-03-2022(Div.3)/C.cpp new file mode 100644 index 0000000..f63ebcd --- /dev/null +++ b/contests/08-03-2022(Div.3)/C.cpp @@ -0,0 +1,22 @@ +#include<bits/stdc++.h> + +using namespace std; + +int main(){ + int tt; + cin >> tt; + while(tt--){ + list<int> ls; + int len; + int x; + cin >> len; + for(int i = 0; i < len; i++){ + cin >> x; + ls.push_back(x); + } + + + } + + return 0; +}
\ No newline at end of file diff --git a/contests/08-03-2022(Div.3)/D.cpp b/contests/08-03-2022(Div.3)/D.cpp new file mode 100644 index 0000000..0572f03 --- /dev/null +++ b/contests/08-03-2022(Div.3)/D.cpp @@ -0,0 +1,20 @@ +#include<bits/stdc++.h> + +using namespace std; + +int solve() +{ + +} + +int main(){ + int tt; + cin >> tt; + while(tt--){ + + + } + + + return 0; +} diff --git a/contests/08-03-2022(Div.3)/E.cpp b/contests/08-03-2022(Div.3)/E.cpp new file mode 100644 index 0000000..2601cd5 --- /dev/null +++ b/contests/08-03-2022(Div.3)/E.cpp @@ -0,0 +1,9 @@ +#include<bits/stdc++.h> + +using namespace std; + +int main(){ + int tt; + + return 0; +}
\ No newline at end of file diff --git a/contests/08-03-2022(Div.3)/tempCodeRunnerFile b/contests/08-03-2022(Div.3)/tempCodeRunnerFile Binary files differnew file mode 100755 index 0000000..9154686 --- /dev/null +++ b/contests/08-03-2022(Div.3)/tempCodeRunnerFile diff --git a/contests/21-04-2022(Div.4)/A b/contests/21-04-2022(Div.4)/A Binary files differnew file mode 100755 index 0000000..58be759 --- /dev/null +++ b/contests/21-04-2022(Div.4)/A diff --git a/contests/21-04-2022(Div.4)/A.cpp b/contests/21-04-2022(Div.4)/A.cpp new file mode 100644 index 0000000..35c326e --- /dev/null +++ b/contests/21-04-2022(Div.4)/A.cpp @@ -0,0 +1,23 @@ +#include<bits/stdc++.h> + +using namespace std; + +int main(){ + int tt, x; + cin >> tt; + while(tt--){ + cin >> x; + if(x >= 1900){ + cout << "Division 1" << '\n'; + } + else if(x >= 1600 && x <= 1899){ + cout << "Division 2" << '\n'; + } + else if(x >= 1400 && x <= 1599){ + cout << "Division 3" << '\n'; + } + else{ + cout << "Division 4" << '\n'; + } + } +} diff --git a/contests/21-04-2022(Div.4)/B b/contests/21-04-2022(Div.4)/B Binary files differnew file mode 100755 index 0000000..6a9b6ab --- /dev/null +++ b/contests/21-04-2022(Div.4)/B diff --git a/contests/21-04-2022(Div.4)/B.cpp b/contests/21-04-2022(Div.4)/B.cpp new file mode 100644 index 0000000..d1b3e98 --- /dev/null +++ b/contests/21-04-2022(Div.4)/B.cpp @@ -0,0 +1,30 @@ +#include<bits/stdc++.h> + +using namespace std; + +auto solve(map<int, int> m){ + for(auto x : m){ + if(x.second >= 3){ + return x.first; + } + } + return -1; +} + +int main(){ + int tt, x, n; + cin >> tt; + while(tt--){ + map<int, int> frq; + vector<int> v; + cin >> n; + for(int i = 0; i < n; i++){ + cin >> x; + frq[x]++; + } + // for(auto &x : frq){ + // v.push_back(x.second); + // } + cout << solve(frq) << endl; + } +} diff --git a/contests/21-04-2022(Div.4)/E b/contests/21-04-2022(Div.4)/E Binary files differnew file mode 100755 index 0000000..0e57ed4 --- /dev/null +++ b/contests/21-04-2022(Div.4)/E diff --git a/contests/21-04-2022(Div.4)/E.cpp b/contests/21-04-2022(Div.4)/E.cpp new file mode 100644 index 0000000..7fac1a5 --- /dev/null +++ b/contests/21-04-2022(Div.4)/E.cpp @@ -0,0 +1,25 @@ +#include<bits/stdc++.h> + +using namespace std; + +int main(){ + int tt, n, count; + cin >> tt; + while(tt--){ + string str; + cin >> n; + count = 0; + vector<string> v(n); + for(int i = 0; i < n; i++){ + cin >> v[i]; + } + for(int i = 0; i < v.size(); i++){ + for(int j = i+1; j < v.size()-1; j++){ + if(v[i][0] != v[j][0] || v[i][1] != v[j][1]){ + count++; + } + } + } + cout << count << endl; + } +} diff --git a/contests/21-04-2022(Div.4)/F b/contests/21-04-2022(Div.4)/F Binary files differnew file mode 100755 index 0000000..b87fe94 --- /dev/null +++ b/contests/21-04-2022(Div.4)/F diff --git a/contests/21-04-2022(Div.4)/F.cpp b/contests/21-04-2022(Div.4)/F.cpp new file mode 100644 index 0000000..4ab1a8c --- /dev/null +++ b/contests/21-04-2022(Div.4)/F.cpp @@ -0,0 +1,7 @@ +#include<bits/stdc++.h> + +using namespace std; + +int main(){ + +} diff --git a/contests/Round#788/A(2_pointers).cpp b/contests/Round#788/A(2_pointers).cpp new file mode 100644 index 0000000..5d56719 --- /dev/null +++ b/contests/Round#788/A(2_pointers).cpp @@ -0,0 +1,29 @@ +#include<bits/stdc++.h> +using namespace std; +int main () { + int tt; + cin >> tt; + while (tt--) { + int n; + cin >> n; + vector<int> v(n); + for(auto &x : v) { + cin >> x; + } + int l = 0, r = v.size() - 1; + while(r > l) { + while(v[l] < 0) { + l++; + } + while(v[r] > 0) { + r--; + } + if(l > r) break; + v[l] = -v[l]; + v[r] = -v[r]; + } + cout << (is_sorted(v.begin(), v.end()) ? "YES" : "NO"); + } +} + + diff --git a/contests/Round#788/A.cpp b/contests/Round#788/A.cpp new file mode 100644 index 0000000..ada8036 --- /dev/null +++ b/contests/Round#788/A.cpp @@ -0,0 +1,50 @@ +#include<bits/stdc++.h> + +using namespace std; + +string solve(vector<int> v) { + int p = 0; + int n = 0; + for(int i = 0; i < v.size(); i++) { + if(v[i] > 0) { + p++; + } + else{ + n++; + } + } + int loop = min(p, n); + int loop1 = loop; + for(int i = 0; i < v.size(); i++) { + if(v[i] > 0 && loop != 0) { + v[i] = -v[i]; + loop--; + } + } + loop = min(p, n); + for(int i = v.size() - 1; i > 0; i--) { + if(v[i] < 0 && loop1 != 0) { + v[i] = -v[i]; + loop1--; + } + } + if(is_sorted(v.begin(), v.end())) { + return "YES"; + } + return "NO"; +} + + +int main () { + int tt; + cin >> tt; + while (tt--) { + int n; + cin >> n; + vector<int> v(n); + for(auto &x : v) { + cin >> x; + } + cout << solve(v) << endl; + } +} diff --git a/contests/Round#788/B.cpp b/contests/Round#788/B.cpp new file mode 100644 index 0000000..02b1493 --- /dev/null +++ b/contests/Round#788/B.cpp @@ -0,0 +1,7 @@ +#include<bits/stdc++.h> + +using namespace std; + +int main () { + +} diff --git a/contests/Round#788/C.cpp b/contests/Round#788/C.cpp new file mode 100644 index 0000000..f7133e4 --- /dev/null +++ b/contests/Round#788/C.cpp @@ -0,0 +1,7 @@ +#include<bits/stdc++.h> + +using namespace std + +int main () { + +} diff --git a/contests/Round#788/D.cpp b/contests/Round#788/D.cpp new file mode 100644 index 0000000..f7133e4 --- /dev/null +++ b/contests/Round#788/D.cpp @@ -0,0 +1,7 @@ +#include<bits/stdc++.h> + +using namespace std + +int main () { + +} diff --git a/contests/Round#788/E.cpp b/contests/Round#788/E.cpp new file mode 100644 index 0000000..f7133e4 --- /dev/null +++ b/contests/Round#788/E.cpp @@ -0,0 +1,7 @@ +#include<bits/stdc++.h> + +using namespace std + +int main () { + +} diff --git a/contests/Round#788/F.cpp b/contests/Round#788/F.cpp new file mode 100644 index 0000000..f7133e4 --- /dev/null +++ b/contests/Round#788/F.cpp @@ -0,0 +1,7 @@ +#include<bits/stdc++.h> + +using namespace std + +int main () { + +} diff --git a/python/RecursiveDigitSum.py b/python/RecursiveDigitSum.py new file mode 100755 index 0000000..98a808d --- /dev/null +++ b/python/RecursiveDigitSum.py @@ -0,0 +1,15 @@ +#!/bin/env/python3 +x,n = map(int, input().split()) +x = str(x) +x = x * n +print(x) +def recursive_digit_sum(x): + y = 0 + if len(x) == 1: + return x; + else: + for i in x: + y += int(i) + print("y: ", y) + return recursive_digit_sum(str(y)) +print(recursive_digit_sum(x)) |
