#include<bits/stdc++.h>
using namespace std;
/*
N pyramids
i-th pyramid -> a[i] stones
everyday,
same length er A & B array er ekta subarr choose korbo
jana lagbo if it's possible to transform A[l-r] -> B[x-y]
transformation rules:
*/
vector<long long> prefA,prefB;
void init(vector<int> A, vector<int> B) {
int n= A.size(), m = B.size();
prefA.resize(n);
prefB.resize(m);
prefA[0] = A[0];
prefB[0] = B[0];
for(int i = 1;i<n;++i) prefA[i] = prefA[i-1] + A[i];
for(int i = 1;i<m;++i) prefB[i] = prefB[i-1] + B[i];
}
bool can_transform(int l, int r, int x, int y){
int minus = 0;
if(l > 0){
minus = prefA[l-1];
}
long long int s1 = prefA[r] - minus;
minus = 0;
if(x > 0){
minus = prefB[x-1];
}
long long int s2 = prefB[y] - minus;
if(s1 == s2) return 1;
return 0;
}
// int32_t main(){
// init({1, 2}, {2, 3});
// cout<<can_transform(0, 1, 0, 1);
// 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... |