Submission #162972

#TimeUsernameProblemLanguageResultExecution timeMemory
162972dandrozavrIntergalactic ship (IZhO19_xorsum)C++14
0 / 100
2045 ms380 KiB
/* Uruchamiamy samolot zwiadowczy ( + 500% do wzlamaniej ) /▄/ /█/ /&#9680;/ /▐/ /▌/ /▀/ /░/ /&#128293;/ choose own style! ***IT'S OUR LONG WAY TO THE OIILLLL*** ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████████░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████░░░░░░░░░░░░░░░░░▌░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░◐◐◐█████████▀▀▀▀▀▀🔥░░░░░░░░███░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████░░░░░░░░░░░░░░░░░░░░▌░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████░░░░░░░░░░░░░░░░░░░░█▌░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▄▄▀██████████████████████████████████████████████████ ░░░░░░░░░░░░░░░░░░░░░░░░░░▄▄▄████▄████████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ █████ ░░░░░░░░░░░░░░░░░░░░░░░░░░░▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█████████▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░◐◐◐█████████▀▀▀▀▀▀🔥░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████████░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░████████░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░███████░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██████░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████░░░░░░░░░░░░░░░ */ //#pragma GCC optimize("Ofast") //#pragma GCC target("sse,sse2,sse3,ssse3,sse4") #include <bits/stdc++.h> using namespace std; #include <ext/pb_ds/detail/standard_policies.hpp>' #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds;template <typename T> using ordered_set = tree <T, null_type, less< T >, rb_tree_tag,tree_order_statistics_node_update>; #define pb push_back #define ll long long #define ld long double #define mp make_pair #define fi first #define se second //#define pi 3.14159265358979323846 #define pii pair < ll , int > #define pipii pair< int, pair < int , int > > #define siz(n) (int)(n.size()) const int inf=1e9 + 7; const ll inf18=1e18 + 7; const int N=2e3 + 7; const int MN = 2097152; const int M = 1e9 + 7; ll a[N], n, q, l[N], r[N], x[N], cnt[N], mmx, b[N], po[N]; void preobr() { for (int i = 0; i < n; ++i) { ll now = 1; for (int j = 1; j <= a[i]; ++j) now *= 2; b[i] = now; } } void solve12() { ll ans = 0; cerr<<(1 <<q)<<endl; for (int i = 0; i < (1 << q); ++i) { // if (i % 100000 == 0) // cerr<<i<<endl; int b[n], add[n] = {}; for (int j = 0 ;j < n; ++j) b[j] = a[j]; for (int j = 0; j < q; ++j) if ((1 << j) & i) { add[l[j]] ^= x[j]; add[r[j] + 1] ^= x[j]; } ll pref[n] = {}; for (int j = 0; j < n; ++j) { if (j) add[j] ^= add[j - 1]; b[j] ^= add[j]; if (j) pref[j] += pref[j - 1]; } for (int f = 0; f < n; ++f) for (int s = f; s < n; ++s) { ll sum = pref[s]; if (f) sum -= pref[f - 1]; ans += (sum * sum) % M; ans %= M; } } cout << ans << endl; exit(0); } int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); #ifdef Estb_probitie freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif cin >> n; for (int i = 0; i < n; ++i) { cin >> a[i], mmx = max(mmx, a[i]); } cin >> q; for (int i = 0; i < q; ++i) cin >> l[i] >> r[i] >> x[i],--l[i],--r[i]; // if (n <= 100 && q <= 10 && mmx < 128) solve12(); }

Compilation message (stderr)

xorsum.cpp:35:50: warning: missing terminating ' character
 #include <ext/pb_ds/detail/standard_policies.hpp>'
                                                  ^
xorsum.cpp:35:50: warning: extra tokens at end of #include directive
#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...