Submission #1929710
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
#define int long long
using ll=long long;
using vi=vector<int>;
using pii=pair<int,int>;
#define ALL(c) begin(c),end(c)
#define RALL(c) rbegin(c),rend(c)
#define ITR(i,b,e) for(auto i=(b);i!=(e);++i)
#define FORE(x,c) for(auto &x:c)
#define REPF(i,a,n) for(int i=a,i##len=(int)(n);i<i##len;++i)
#define REP(i,n) REPF(i,0,n)
#define REPR(i,n) for(int i=(int)(n);i>=0;--i)
#define SZ(c) ((int)c.size())
#define CONTAIN(c,x) (c.find(x)!=end(c))
#define OUTOFRANGE(y,x,h,w) (y<0||x<0||y>=h||x>=w)
#define dump(...)
const int DX[9]={0,1,0,-1,1,1,-1,-1,0},DY[9]={-1,0,1,0,-1,1,1,-1,0};
#define INF (1001001001)
#define INFLL (1001001001001001001ll)
template<class T> ostream& operator << (ostream &os,const vector<T> &v) {
ITR(i,begin(v),end(v)) os<<*i<<(i==end(v)-1?"":" "); return os; }
template<class T> istream& operator >> (istream &is,vector<T> &v) {
ITR(i,begin(v),end(v)) is>>*i; return is; }
template<class T> istream& operator >> (istream &is, pair<T,T> &p) {
is>>p.first>>p.second; return is; }
template <class T> bool chmax(T &a,const T &b) {if(a<b) {a=b;return 1;} return 0;}
template <class T> bool chmin(T &a,const T &b) {if(b<a) {a=b;return 1;} return 0;}
template <class T> using heap = priority_queue<T,vector<T>,greater<T>>;
struct { template <typename T> operator T() { T x; cin >> x; return x; } } IN;
struct before_main_function {
before_main_function() {
#ifdef int
#undef INF
#define INF INFLL
#define stoi stoll
#endif
cin.tie(0);ios::sync_with_stdio(false);
cout<<setprecision(15)<<fixed;
#define endl "\n"
}
} before_main_function;
//------------------8<------------------------------------8<--------------------
int dp[70][70][70][70];
signed main() {
int W=IN,H=IN,N=IN;
vector<pii> p(N);
vector<int> X,Y;
REP(i,N) {
int x=IN,y=IN;
x--,y--;
X.push_back(x); X.push_back(x+1);
Y.push_back(x); Y.push_back(x+1);
p[i]={x,y};
}
X.push_back(0); X.push_back(W);
Y.push_back(0); Y.push_back(H);
sort(ALL(X)); X.erase(unique(ALL(X)),end(X));
sort(ALL(Y)); Y.erase(unique(ALL(Y)),end(Y));
auto getx=[&](int x){return distance(begin(X),lower_bound(ALL(X),x));};
auto gety=[&](int y){return distance(begin(Y),lower_bound(ALL(Y),y));};
fill((int*)dp,(int*)(dp+70),INF);
function<int(int,int,int,int)> rec=[&](int x1,int y1,int x2,int y2) {
int X1=getx(x1),Y1=gety(y1),X2=getx(x2),Y2=gety(y2);
if(dp[X1][Y1][X2][Y2]!=INF) return dp[X1][Y1][X2][Y2];
int ret=0;
REP(i,N) {
int x=p[i].first,y=p[i].second;
if(x<x1 || x2<=x || y<y1 || y2<=y) continue;
int tmp=(x2-x1)+(y2-y1)-1;
tmp+=rec(x1,y1,x,y);
tmp+=rec(x+1,y1,x2,y);
tmp+=rec(x1,y+1,x,y2);
tmp+=rec(x+1,y+1,x2,y2);
chmax(ret,tmp);
}
return dp[X1][Y1][X2][Y2]=ret;
};
cout<<rec(0,0,W,H)<<endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
D - 金塊ゲーム |
User |
algon |
Language |
C++14 (GCC 5.4.1) |
Score |
0 |
Code Size |
3059 Byte |
Status |
WA |
Exec Time |
57 ms |
Memory |
187904 KB |
Judge Result
Set Name |
Sample |
Subtask1 |
Subtask2 |
Subtask3 |
Score / Max Score |
0 / 0 |
0 / 80 |
0 / 19 |
0 / 1 |
Status |
|
|
|
|
Set Name |
Test Cases |
Sample |
sample_01.txt, sample_02.txt, sample_03.txt |
Subtask1 |
subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt |
Subtask2 |
subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt |
Subtask3 |
subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask3_01.txt, subtask3_02.txt, subtask3_03.txt, subtask3_04.txt, subtask3_05.txt, subtask3_06.txt, subtask3_07.txt, subtask3_08.txt, subtask3_09.txt, subtask3_10.txt, subtask3_11.txt, subtask3_12.txt, subtask3_13.txt, subtask3_14.txt, subtask3_15.txt, subtask3_16.txt, subtask3_17.txt, subtask3_18.txt, subtask3_19.txt, subtask3_20.txt, subtask3_21.txt, subtask3_22.txt, subtask3_23.txt, subtask3_24.txt, subtask3_25.txt |
Case Name |
Status |
Exec Time |
Memory |
sample_01.txt |
AC |
49 ms |
187776 KB |
sample_02.txt |
AC |
49 ms |
187776 KB |
sample_03.txt |
AC |
49 ms |
187904 KB |
subtask1_01.txt |
AC |
49 ms |
187776 KB |
subtask1_02.txt |
AC |
49 ms |
187776 KB |
subtask1_03.txt |
AC |
49 ms |
187904 KB |
subtask1_04.txt |
AC |
49 ms |
187776 KB |
subtask1_05.txt |
AC |
49 ms |
187776 KB |
subtask1_06.txt |
AC |
49 ms |
187776 KB |
subtask1_07.txt |
AC |
49 ms |
187776 KB |
subtask1_08.txt |
AC |
49 ms |
187776 KB |
subtask1_09.txt |
AC |
49 ms |
187904 KB |
subtask1_10.txt |
AC |
49 ms |
187776 KB |
subtask1_11.txt |
AC |
49 ms |
187776 KB |
subtask1_12.txt |
WA |
49 ms |
187776 KB |
subtask1_13.txt |
WA |
49 ms |
187776 KB |
subtask1_14.txt |
WA |
49 ms |
187776 KB |
subtask1_15.txt |
WA |
49 ms |
187776 KB |
subtask1_16.txt |
WA |
49 ms |
187776 KB |
subtask1_17.txt |
WA |
49 ms |
187776 KB |
subtask1_18.txt |
WA |
49 ms |
187776 KB |
subtask1_19.txt |
AC |
49 ms |
187904 KB |
subtask1_20.txt |
AC |
49 ms |
187776 KB |
subtask1_21.txt |
WA |
49 ms |
187776 KB |
subtask1_22.txt |
AC |
49 ms |
187776 KB |
subtask1_23.txt |
WA |
49 ms |
187776 KB |
subtask1_24.txt |
WA |
49 ms |
187904 KB |
subtask1_25.txt |
WA |
49 ms |
187776 KB |
subtask2_01.txt |
AC |
49 ms |
187904 KB |
subtask2_02.txt |
WA |
49 ms |
187904 KB |
subtask2_03.txt |
WA |
49 ms |
187776 KB |
subtask2_04.txt |
WA |
50 ms |
187776 KB |
subtask2_05.txt |
WA |
51 ms |
187904 KB |
subtask2_06.txt |
WA |
53 ms |
187776 KB |
subtask2_07.txt |
WA |
53 ms |
187776 KB |
subtask2_08.txt |
AC |
53 ms |
187776 KB |
subtask2_09.txt |
WA |
53 ms |
187776 KB |
subtask2_10.txt |
WA |
56 ms |
187904 KB |
subtask2_11.txt |
AC |
57 ms |
187776 KB |
subtask2_12.txt |
AC |
57 ms |
187776 KB |
subtask2_13.txt |
AC |
53 ms |
187776 KB |
subtask2_14.txt |
WA |
53 ms |
187904 KB |
subtask2_15.txt |
WA |
49 ms |
187904 KB |
subtask2_16.txt |
AC |
53 ms |
187904 KB |
subtask2_17.txt |
AC |
57 ms |
187776 KB |
subtask2_18.txt |
WA |
57 ms |
187904 KB |
subtask2_19.txt |
WA |
56 ms |
187904 KB |
subtask2_20.txt |
WA |
57 ms |
187776 KB |
subtask2_21.txt |
AC |
57 ms |
187904 KB |
subtask2_22.txt |
AC |
57 ms |
187904 KB |
subtask2_23.txt |
WA |
57 ms |
187904 KB |
subtask2_24.txt |
WA |
57 ms |
187776 KB |
subtask2_25.txt |
WA |
57 ms |
187904 KB |
subtask3_01.txt |
AC |
49 ms |
187776 KB |
subtask3_02.txt |
WA |
49 ms |
187776 KB |
subtask3_03.txt |
WA |
49 ms |
187776 KB |
subtask3_04.txt |
WA |
50 ms |
187904 KB |
subtask3_05.txt |
WA |
51 ms |
187904 KB |
subtask3_06.txt |
WA |
50 ms |
187904 KB |
subtask3_07.txt |
WA |
49 ms |
187776 KB |
subtask3_08.txt |
WA |
49 ms |
187904 KB |
subtask3_09.txt |
WA |
52 ms |
187904 KB |
subtask3_10.txt |
WA |
50 ms |
187904 KB |
subtask3_11.txt |
WA |
55 ms |
187904 KB |
subtask3_12.txt |
WA |
50 ms |
187776 KB |
subtask3_13.txt |
WA |
56 ms |
187776 KB |
subtask3_14.txt |
WA |
49 ms |
187776 KB |
subtask3_15.txt |
WA |
50 ms |
187904 KB |
subtask3_16.txt |
WA |
50 ms |
187776 KB |
subtask3_17.txt |
WA |
56 ms |
187776 KB |
subtask3_18.txt |
WA |
49 ms |
187776 KB |
subtask3_19.txt |
WA |
54 ms |
187776 KB |
subtask3_20.txt |
WA |
49 ms |
187776 KB |
subtask3_21.txt |
WA |
55 ms |
187904 KB |
subtask3_22.txt |
WA |
50 ms |
187776 KB |
subtask3_23.txt |
WA |
55 ms |
187776 KB |
subtask3_24.txt |
WA |
55 ms |
187776 KB |
subtask3_25.txt |
WA |
55 ms |
187904 KB |