diff options
| author | omagdy7 <omar.professional8777@gmail.com> | 2023-07-24 13:11:33 +0300 |
|---|---|---|
| committer | omagdy7 <omar.professional8777@gmail.com> | 2023-07-24 13:11:33 +0300 |
| commit | 6b548332bfc6469756526002971c422f43f86d0a (patch) | |
| tree | 261fde23f07c3e20cea375030f0c52863b59228c /contests/Round859(Div4)/D/main.cpp | |
| parent | cff8cae22ee9c25d193ff976143813f93e658e55 (diff) | |
| download | competitive-programming-6b548332bfc6469756526002971c422f43f86d0a.tar.xz competitive-programming-6b548332bfc6469756526002971c422f43f86d0a.zip | |
Removed some empty *.cpp files and Solved some new problems
Diffstat (limited to 'contests/Round859(Div4)/D/main.cpp')
| -rwxr-xr-x | contests/Round859(Div4)/D/main.cpp | 174 |
1 files changed, 0 insertions, 174 deletions
diff --git a/contests/Round859(Div4)/D/main.cpp b/contests/Round859(Div4)/D/main.cpp deleted file mode 100755 index 62f9db4..0000000 --- a/contests/Round859(Div4)/D/main.cpp +++ /dev/null @@ -1,174 +0,0 @@ -#include<bits/stdc++.h> -using namespace std; - -using ll = long long; -using pii = pair<int, int>; -using vpi = vector<pii>; -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 -#define make_unique(x) sort(all((x))); (x).resize(unique(all((x))) - (x).begin()) -#define ceil(a, b) ((a) + (b) - 1) / (b)) - -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}; - -template<typename K, typename V> ostream& operator<<(ostream& os, const pair<K, V>& p); -template<typename T> ostream& operator<<(ostream& os, const vector<T>& vec); -template<typename K, typename V> ostream& operator<<(ostream& os, const map<K, V>& m); -template<typename K, typename V> ostream& operator<<(ostream& os, const unordered_map<K, V>& m); -template<typename T> ostream& operator<<(ostream& os, const set<T>& s); -template<typename T> ostream& operator<<(ostream& os, const unordered_set<T>& s); - -template<typename K, typename V> -ostream& operator<<(ostream& os, const pair<K, V>& p) { - os << "(" << p.first << ", " << p.second << ")"; - return os; -} - -template<typename T> -ostream& operator<<(ostream& os, const vector<T>& vec) { - os << "{"; - for (size_t i = 0; i < vec.size(); ++i) { - if (i > 0) os << ", "; - os << vec[i]; - } - os << "}"; - return os; -} - - -template<typename K, typename V> -ostream& operator<<(ostream& os, const map<K, V>& m) { - os << "{"; - for (const auto& p : m) { - os << p.first << ": " << p.second << ", "; - } - os << "}"; - return os; -} - -template<typename K, typename V> -ostream& operator<<(ostream& os, const unordered_map<K, V>& m) { - os << "{"; - for (const auto& p : m) { - os << p.first << ": " << p.second << ", "; - } - os << "}"; - return os; -} - -template<typename T> -ostream& operator<<(ostream& os, const set<T>& s) { - int i = 0; - os << "{"; - for (const auto& e : s) { - if (i > 0) os << ", "; - os << e; - i++; - } - os << "}"; - return os; -} - -template<typename T> -ostream& operator<<(ostream& os, const unordered_set<T>& s) { - int i = 0; - os << "{"; - for (const auto& e : s) { - if (i > 0) os << ", "; - os << e; - i++; - } - os << "}"; - return os; -} - -void print() { - cerr << "\n"; -} - -template<typename T, typename... TS> -void print(T val, TS... vals) { - cerr << val << " "; - print(vals...); -} - - - -/* 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 - */ - -void solve() { - int n, q; - cin >> n >> q; - vi v(n); - vi odd(n); - for (auto &x : v) { - cin >> x; - } - odd[0] = (v[0] & 1); - for (int i = 1; i < n; i++) { - odd[i] = odd[i - 1] + (v[i] & 1); - } - int o = odd[odd.size() - 1]; - for (int i = 0; i < q; i++) { - int l, r, k; - cin >> l >> r >> k; - if (k & 1) { - int oddsInRange = odd[r - 1]; - if (l - 2 >= 0) { - oddsInRange = odd[r - 1] - odd[l - 2]; - } - int noElements = r - l + 1; - int newOdds = o + (noElements - oddsInRange); - if (newOdds & 1) { - cout << "YES\n"; - } else { - cout << "NO\n"; - } - } else { - int oddsInRange = odd[r - 1]; - if (l - 2 >= 0) { - oddsInRange = odd[r - 1] - odd[l - 2]; - } - int noElements = r - l + 1; - int newOdds = o - oddsInRange; - if (newOdds & 1) { - cout << "YES\n"; - } else { - cout << "NO\n"; - } - } - } - - -} - -int main () { - ios_base::sync_with_stdio(false); - cin.tie(NULL); - int tt; - cin >> tt; - while(tt--) { - solve(); - } -} - - |
