| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1156300 | MuhammadSaram | Intergalactic ship (IZhO19_xorsum) | C++20 | 580 ms | 246648 KiB |
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int mod = 1e9 + 7, V = 32;
signed main()
{
int n;
cin>>n;
int a[n];
for (int i=0;i<n;i++)
cin>>a[i];
int q;
cin>>q;
if (q<=20)
{
int v[n][(1<<q)];
for (int i=0;i<n;i++)
v[i][0]=a[i];
int l[q],r[q],x[q];
for (int i=0;i<q;i++)
cin>>l[i]>>r[i]>>x[i];
for (int m=1;m<(1<<q);m++)
{
int b=31-__builtin_clz(m);
for (int i=0;i<n;i++)
v[i][m]=v[i][m^(1<<b)];
for (int i=l[b]-1;i<r[b];i++)
v[i][m]^=x[b];
}
int ans=0;
for (int m=0;m<(1<<q);m++)
{
int pre[n];
pre[0]=v[0][m];
for (int i=1;i<n;i++)
pre[i]=pre[i-1]+v[i][m]*(i+1);
for (int i=1;i<n;i++)
ans=(ans+pre[i-1]*v[i][m]*(n-i)*2)%mod;
for (int i=0;i<n;i++)
ans=(ans+v[i][m]*(n-i)*(i+1)*v[i][m])%mod;
}
cout<<ans<<endl;
}
else
cout<<0<<endl;
return 0;
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
