제출 #440831

#제출 시각아이디문제언어결과실행 시간메모리
440831MrDebooExam (eJOI20_exam)C++17
0 / 100
2 ms332 KiB
#include <bits/stdc++.h> #define int long long #define mod 1000000007 #define endl '\n' using namespace std; bool m[5000]; signed main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); int n; cin>>n; bool bol=true; pair<int,int>pr[n]; for(int i=0;i<n;i++){ cin>>pr[i].first; if(i>0&&pr[i].first<=pr[i-1].first)bol=false; } for(int i=0;i<n;i++){ cin>>pr[i].second; } if(!bol){ int ans=0,z=0,b=pr[0].second; bool bl=false; for(int i=0;i<n;i++){ if(pr[i].first==b)bl=true; if(pr[i].first<=b&&i!=n-1)z++; else if(bl){ ans+=z+(pr[i].first<=b?1:0); z=0; } else z=0; } cout<<ans; } else{ for(int i=n-1;i>=0;i--){ int a=0,b=0,z=n; for(int w=i-1;w>=0;w--){ if(m[w])b++; if(pr[w].second==pr[i].first)a++; if(a>b)z=w; } for(int w=i-1;w>=z;w--){ if(pr[w].second==pr[i].first)m[w]=true; else m[w]=false; } if(pr[i].first==pr[i].second)m[i]=true; } int ans=0; for(int i=0;i<n;i++){ if(m[i])ans++; } cout<<ans; } }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...