# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1000385 | vjudge1 | Exam (eJOI20_exam) | C++17 | 58 ms | 3272 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
vector<int> vec1,vec2;
for(int n1=n;n1>0;n1--)
{
int x;
cin>>x;
vec1.push_back(x);
}
for(int n1=n;n1>0;n1--)
{
int x;
cin>>x;
vec2.push_back(x);
}
if(n<=10)
{
int br=0;
int ress=0;
for(;br<1<<n;br++)
{
bool b[vec1.size()]={false};
for(int i=0,br2=br;i<vec1.size();i++,br2=br2>>1)
{
if(br2&1==1)
{
b[i]=true;
}
}
int res=0;
for(int i=0;i<vec1.size();i++)
{
if(b[i]==true)
{
int maxx=vec1[i];
int j=i+1;
for(;j<vec1.size() && b[j]==true;j++)
{
maxx=max(maxx,vec1[j]);
}
j--;
for(int k=i;k<=j;k++)
{
if(vec2[k]==maxx)
res++;
}
i=j;
}
else
{
if(vec1[i]==vec2[i])
res++;
}
}
ress=max(ress,res);
}
cout<<ress;
}
else
{
int maxx=0,lastt=0,res=0;
for(int i=0;i<vec1.size();i++)
{
maxx=max(maxx,vec1[i]);
if(maxx>vec2[i])
{
maxx=0;
lastt=i+1;
continue;
}
if(maxx==vec2[i])
{
res=res+i-lastt+1;
lastt=i+1;
}
}
cout<<res;
}
return 0;
}
Compilation message (stderr)
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |