wa3求debug
查看原帖
wa3求debug
862824
chenchhhhhh楼主2023/11/2 17:03
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
#define Acode ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define int long long
const int N = 2e6 + 10;
int L[N], R[N];
void solve()
{
    int n, k;
    cin >> n >> k;
    for (int i = 1; i <= n; i++)
        cin >> L[i];
    int sum = 0;
    for (int i = 1; i <= n; i++)
    {
        cin >> R[i];
        sum += R[i] - L[i] + 1;
    }
    if (sum < k)
    {
        cout << -1 << endl;
        return;
    }
    int res = 0;
    int x = 0;
    int xx = 0;
    for (int i = 1; i <= n; i++)
    {
        if (R[i] == L[i])
            x++;
        else
            xx++;
        res += (R[i] - L[i] + 1);
        if (res >= k)
        {
            int pre = res - (R[i] - L[i] + 1);
            int pos = (k - pre) + L[i] - 1;
            int w = R[i] - pos;
            if (w >= x)
            {
                pos += x;
                x = 0;
            }
            else
            {
                x -= w;
                pos = R[i];
            }
            cout << pos + (x + xx) * 2 << endl;
            return;
        }
    }
}

signed main()
{
    Acode;
    int T = 1;
    cin >> T;
    while (T--)
    {
        solve();
    }
    return 0;
}
2023/11/2 17:03
加载中...