Submission #953173

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
9531732024-03-25 15:21:48DeepessonSkyscraper (JOI16_skyscraper)C++17
100 / 100
63 ms77652 KiB
#include <bits/stdc++.h>
#define MAX 105
int tab[MAX][MAX][1005][3];
bool existe[MAX][MAX][1005][3];
using ll = long long;
ll MOD = 1e9+7;
std::vector<int> alturas;
ll N,L;
ll dp(ll cur,ll conjs,ll soma,ll bordas){
if(soma>L)return 0;
if(cur==N){
if(conjs==1&&!bordas){
return 1;
}
return 0;
}
if(existe[cur][conjs][soma][bordas])return tab[cur][conjs][soma][bordas];
existe[cur][conjs][soma][bordas]=1;
ll num_lados = 2*conjs-(2-bordas);
ll custo=0;
if(cur){
custo=alturas[cur]-alturas[cur-1];
}
ll custo_adicional = custo*num_lados;
ll cur1 = 0,cur2=0,cur3=0;
///Une dois caras
if(conjs>1){
int remove=0;
if(bordas==1){
remove=conjs-1;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...