Submission #1316165

#TimeUsernameProblemLanguageResultExecution timeMemory
1316165antarbanikPyramids (IOI24_pyramids)C++20
100 / 100
41 ms5056 KiB
#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){

        long long 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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...