제출 #168779

#제출 시각아이디문제언어결과실행 시간메모리
168779ptreapIntergalactic ship (IZhO19_xorsum)C++14
0 / 100
2074 ms2680 KiB
#include <iostream> #include <vector> #include <algorithm> #include <set> #include <unordered_set> #include <map> #include <unordered_map> #include <string> #include <cmath> #include <iomanip> #include <stdio.h> #include <ctime> #include <fstream> #include <chrono> #define _GLIBCXX_DEBUG #define int long long #define double long double #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() #define sz(x) (int)x.size() #define pb push_back; #pragma GCC optimize("unroll-loops") #pragma GCC optimize("Ofast") #pragma GCC optimize("no-stack-protector") #pragma GCC target("sse,sse2,sse3,ssse3,popcnt,abm,mmx,tune=native") #pragma GCC optimize("fast-math") #pragma GCC optimize "-O3" const int mod = 1e9 + 7; typedef int supertype; using namespace std; void solve() { int n; cin >> n; vector <int> a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } int q; cin >> q; vector <pair <pair <int, int>, int>> change(q); for (int i = 0; i < q; i++) { int l, r, x; cin >> l >> r >> x; l--, r--; change[i] = { {l, r}, x }; } vector <int> t; int ans = 0; for (int mask = 0; mask < (1LL << q); mask++) { t = a; for (int k = 0; k < q; k++) { if ((mask >> k) & 1) { for (int i = change[k].first.first; i <= change[k].first.second; i++) { t[i] ^= change[k].second; } } } for (int i = 0; i < n; i++) { int sm = 0; for (int j = i; j < n; j++) { sm += a[j]; ans = (ans + sm * sm) % mod; } } } cout << ans; } signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); srand(time(NULL)); //freopen("sort.in", "r", stdin); //freopen("sort.in", "r", stdin); int tests = 1; //cin >> tests; while (tests--) { solve(); } return 0; } /* */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...