# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1013898 | Baytoro | Building 4 (JOI20_building4) | C++17 | 184 ms | 58704 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;
#define ll long long
#define pb push_back
#define fr first
#define sc second
#define int ll
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
int n,m;
const int N=1e6+5;
pair<int,int> dp[N][2];
void solve() {
int n;cin>>n;
vector<int> a(2*n+1),b(2*n+1);
for(int i=1;i<=2*n;i++) cin>>a[i];
for(int i=1;i<=2*n;i++) cin>>b[i];
for(int i=1;i<=2*n;i++) dp[i][0]=dp[i][1]={-1,-1};
dp[1][0]={1,1};
dp[1][1]={0,0};
for(int i=2;i<=2*n;i++) {
if(a[i]>=a[i-1] && dp[i-1][0].fr!=-1) {
if(dp[i][0].fr==-1) {
dp[i][0].fr=dp[i-1][0].fr+1;
dp[i][0].sc=dp[i-1][0].sc+1;
}
else {
dp[i][0].fr=min(dp[i][0].fr,dp[i-1][0].fr+1);
dp[i][0].sc=max(dp[i][0].sc,dp[i-1][0].sc+1);
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |