#include <iostream>
#include <algorithm>
#include <numeric>
#include "popa.h"
using namespace std;
int const MAXNN=1e3+10;
// int s[MAXN]={};
int lc[MAXNN],rc[MAXNN];
// bool query(int a,int b,int c,int d)
// {
// int g=0,g1=0;
// for (int i=a;i<=b;i++)
// g=gcd(g,s[i]);
// for (int i=c;i<=d;i++)
// g1=gcd(g1,s[i]);
// return (g==g1);
// }
int sol(int l,int r)
{
if (l>r)
return -1;
if (l==r)
return l;
for (int i=l;i<r;i++)
{
if (query(l,r,i,i))
{
lc[i]=sol(l,i-1);
rc[i]=sol(i+1,r);
return i;
}
}
lc[r]=sol(l,r-1);
return r;
}
int solve(int N,int* left,int* right)
{
for (int i=0;i<N;i++)
lc[i]=rc[i]=-1;
int rt=sol(0,N-1);
for (int i=0;i<N;i++)
left[i]=lc[i],right[i]=rc[i];
return rt;
}
// int main()
// {
// int n;
// cin>>n;
// for (int i=0;i<n;i++)
// cin>>s[i];
// int l[n],r[n];
// cout<<solve(n,l,r)<<endl;
// for (int i=0;i<n;i++)
// cout<<l[i]<<' '<<r[i]<<endl;
// }
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |