求助团队题
  • 板块灌水区
  • 楼主zjinyi
  • 当前回复17
  • 已保存回复17
  • 发布时间2024/8/23 18:36
  • 上次更新2024/8/23 21:10:19
查看原帖
求助团队题
1378097
zjinyi楼主2024/8/23 18:36
#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分啊? 题目:

2024/8/23 18:36
加载中...