#include <vector>
#include <numeric>
#include <algorithm>
using namespace std;
vector<int> pyramidsA, pyramidsB;
void init(vector<int> A, vector<int> B) {
pyramidsA = A;
pyramidsB = B;
}
bool can_transform(int L, int R, int X, int Y) {
vector<int> subA(pyramidsA.begin() + L, pyramidsA.begin() + R + 1);
vector<int> subB(pyramidsB.begin() + X, pyramidsB.begin() + Y + 1);
int sumA = accumulate(subA.begin(), subA.end(), 0);
int sumB = accumulate(subB.begin(), subB.end(), 0);
if (sumA != sumB) {
return false;
}
sort(subA.begin(), subA.end());
sort(subB.begin(), subB.end());
return subA == subB;
}
# | 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... |