#include <vector>
using namespace std;
vector<int> sumA, sumB;
vector<int> diffA, diffB;
void init(vector<int> A, vector<int> B) {
    int N = A.size();
    sumA.resize(N);
    sumB.resize(N);
    diffA.resize(N - 1);
    diffB.resize(N - 1);
    sumA[0] = A[0];
    sumB[0] = B[0];
    for (int i = 1; i < N; ++i) {
        sumA[i] = sumA[i - 1] + A[i];
        sumB[i] = sumB[i - 1] + B[i];
        diffA[i - 1] = A[i] - A[i - 1];
        diffB[i - 1] = B[i] - B[i - 1];
    }
}
bool can_transform(int L, int R, int X, int Y) {
    int totalA = sumA[R] - (L > 0 ? sumA[L - 1] : 0);
    int totalB = sumB[Y] - (X > 0 ? sumB[X - 1] : 0);
    if (totalA != totalB) {
        return false;
    }
    for (int i = 1; i <= R - L; ++i) {
        if (diffA[L + i - 1] != diffB[X + i - 1]) {
            return false;
        }
    }
    return true;
}
| # | 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... |