This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#pragma optimize("Bismillahirrahmanirrahim")
#pragma GCC optimize("O3,unroll-loops,Ofast")
#pragma GCC target("avx2")
//█▀█─█──█──█▀█─█─█
//█▄█─█──█──█▄█─█■█
//█─█─█▄─█▄─█─█─█─█
//Allahuekber
//ahmet23 orz...
//FatihSultanMehmedHan
//YavuzSultanSelimHan
//AbdulhamidHan
//Sani buyuk Osman Pasa Plevneden cikmam diyor.
#define author tolbi
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define sortarr(x) sort(x.begin(), x.end())
#define sortrarr(x) sort(x.rbegin(), x.rend())
#define coutarr(x) for (auto &it : x) cout<<it<<" ";cout<<endl;
#define rev(x) reverse(x.begin(), x.end())
#define tol(bi) (1LL<<((int)(bi)))
mt19937 ayahya(chrono::high_resolution_clock().now().time_since_epoch().count());
const int MOD = 1e9+7;
const int INF = MOD;
#include "wombats.h"
int h[5000][200];
int v[5000][200];
int n,m;
int dp[100][5000][100];
vector<bool> res;
inline void calc(int las){
dp[las][n-1][las]=0;
res[las]=true;
for (int i = las+1; i < m; i++){
dp[las][n-1][i]=dp[las][n-1][i-1]+h[n-1][i-1];
}
for (int i = las-1; i >= 0; i--){
dp[las][n-1][i]=dp[las][n-1][i+1]+h[n-1][i];
}
for (int i = n-2; i >= 0; i--){
for (int j = 0; j < m; ++j)
{
dp[las][i][j]=dp[las][i+1][j]+v[i][j];
if (j) dp[las][i][j]=min(dp[las][i][j],dp[las][i][j-1]+h[i][j-1]);
}
for (int j = m-2; j >= 0; j--){
dp[las][i][j]=min(dp[las][i][j],dp[las][i][j+1]+h[i][j]);
}
}
}
void init(int R, int C, int H[5000][200], int V[5000][200]) {
for (int i = 0; i < R; i++){
for (int j = 0; j < C; j++){
h[i][j]=H[i][j];
v[i][j]=V[i][j];
}
}
n=R,m=C;
res.resize(m,false);
fill(res.begin(), res.end(), false);
}
void changeH(int P, int Q, int W){
h[P][Q]=W;
fill(res.begin(), res.end(), false);
}
void changeV(int P, int Q, int W) {
v[P][Q]=W;
fill(res.begin(), res.end(), false);
}
int escape(int V1, int V2) {
if (res[V2]==false) calc(V2);
return dp[V2][0][V1];
}
Compilation message (stderr)
grader.c: In function 'int main()':
grader.c:15:6: warning: variable 'res' set but not used [-Wunused-but-set-variable]
15 | int res;
| ^~~
wombats.cpp:1: warning: ignoring '#pragma optimize ' [-Wunknown-pragmas]
1 | #pragma optimize("Bismillahirrahmanirrahim")
|
# | 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... |