Submission #960077

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
9600772024-04-09 15:43:04penguin133Building 4 (JOI20_building4)C++17
100 / 100
315 ms147248 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define fi first
#define se second
#define pi pair <int, int>
#define pii pair <int, pi>
int n, A[1000005], B[1000005], memo[1000005][2], memo2[1000005][2];
int dp1(int x, int f){
if(x == 2 * n)return !f;
if(memo[x][f] != -1)return memo[x][f];
int val = (!f ? A[x] : B[x]);
int tmp = 1e18;
if(A[x + 1] >= val)tmp = min(tmp, dp1(x + 1, 0));
if(B[x + 1] >= val)tmp = min(tmp, dp1(x + 1, 1));
if(!f)tmp++;
return memo[x][f] = tmp;
}
int dp2(int x, int f){
if(x == 2 * n)return !f;
if(memo2[x][f] != -1)return memo2[x][f];
int val = (!f ? A[x] : B[x]);
int tmp = -1e18;
if(A[x + 1] >= val)tmp = max(tmp, dp2(x + 1, 0));
if(B[x + 1] >= val)tmp = max(tmp, dp2(x + 1, 1));
if(!f)tmp++;
return memo2[x][f] = tmp;
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

building4.cpp:65:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   65 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...