#include <bits/stdc++.h>
using namespace std;
#define int long long
int ans_1 = 0,a[100005] = {},b[100005] = {};
int n,m;
signed main()
{
cin >> n >> m;
for(int i = 1; i <= n; i++)
{
cin >> a[i];
}
for(int i = 1; i <= m; i++)
{
cin >> b[i];
}
for(int i = 2; i <= n; i++)
{
ans_1 += a[i]^a[i-1];
}
cout << ans_1 << " ";
int sum = ans_1+(a[n]^a[1]);
int add = 0;
for(int i = 1; i <= m; i++)
{
int ans = 0;
add += b[i];
add %= n;
if(add == 0)
{
cout << ans_1 << " ";
continue;
}
ans = sum - (a[n-add+1]^a[n-add]);
cout << ans << " ";
}
return 0;
}
#include <iostream>
using namespace std;
int main()
{
long long n, m, num = 0, ans = 0, sum = 0;
cin >> n >> m;
long long a[n], b[m];
for (long long i = 0; i < n; ++i)
{
cin >> a[i];
}
for (long long i = 0; i < m; ++i)
{
cin >> b[i];
}
for (long long i = 1; i < n; ++i)
{
ans += a[i - 1] ^ a[i];
}
cout << ans << " ";
sum = ans + a[n - 1] ^ a[0];
for (long long i = 0; i < m; ++i)
{
num += b[i];
num %= n;
if (num == 0)
{
cout << ans << " ";
continue;
}
cout << sum - (a[n - num] ^ a[n - num - 1]) << " ";
}
return 0;
}
这两段代码,上面一段是正确的,下面一段是我写的,为什么我只得20分啊?
题目: