Submission #1370847


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#define repl(i,a,b) for(int i=(int)(a);i<(int)(b);i++)
#define rep(i,n) repl(i,0,n)
#define mp(a,b) make_pair((a),(b))
#define pb(a) push_back((a))
#define all(x) (x).begin(),(x).end()
#define uniq(x) sort(all(x)),(x).erase(unique(all(x)),end(x))
#define fi first
#define se second
#define dbg(...) _dbg(#__VA_ARGS__",", __VA_ARGS__)
void _dbg(string){cout<<endl;}
template<class H,class... T> void _dbg(string s,H h,T... t){int l=s.find(',');cout<<s.substr(0,l)<<" = "<<h<<", ";_dbg(s.substr(l+1),t...);}
template<class T,class U> ostream& operator<<(ostream& o, const pair<T,U> &p){o<<"("<<p.fi<<","<<p.se<<")";return o;}
template<class T> ostream& operator<<(ostream& o, const vector<T> &v){o<<"[";for(T t:v){o<<t<<",";}o<<"]";return o;}

#define INF 1120000000

long vec[2100][2100];

inline void tri(int x, int y, int d, int v){
  x += 1010; y += 1010;
  vec[x][y] += v;
  vec[x+1][y-1] -= v;
  vec[x][y+d] -= v;
  vec[x+1][y+d] += v;
  vec[x+d+1][y] -= v;
  vec[x+d+1][y-1] += v;
}

inline void hex(int x, int y, int d, int v){
  tri(x-d+1, y-d+1, 3*d-2, v);
  tri(x-d+1, y-d+1, d-1, -v);
  tri(x-d+1, y+d, d-1, -v);
  tri(x+d, y-d+1, d-1, -v);
}

int main(){
  fill(vec[0], vec[2010], 0);
  int n;
  cin>>n;
  rep(i,n){
    int t,x,y,s;
    cin>>t>>x>>y>>s;
    if(t==1){
      hex(x,y,s,1);
    } else if(t==2){
      rep(j,s){
        hex(x,y,j+1,1);
      }
    } else if(t==3){
      rep(j,s){
        hex(x,y,s-j,2*j+1);
      }
    } else assert(false);
  }

  // imos
  for(int i=1; i<2020; i++){
    for(int j=2020; j>=0; j--)
      vec[i][j] += vec[i-1][j+1];
  }
  for(int i=1; i<2020; i++){
    for(int j=0; j<2020; j++)
      vec[i][j] += vec[i-1][j];
  }
  for(int i=0; i<2020; i++){
    for(int j=1; j<2020; j++)
      vec[i][j] += vec[i][j-1];
  }

  // for(int i=1000; i<=1020; i++){
  //   for(int j=1000; j<=1020; j++) cout<<vec[i][j]<<" ";
  //   cout << endl;
  // }

  long ans = 0;
  rep(i,2020)rep(j,2020) ans = max(ans, vec[i][j]);

  cout << ans << endl;

  return 0;
}

Submission Info

Submission Time
Task I - その味は甘くて
User tossy
Language C++14 (GCC 5.4.1)
Score 10
Code Size 2131 Byte
Status RE
Exec Time 166 ms
Memory 33536 KB

Judge Result

Set Name small large1 large3
Score / Max Score 10 / 10 0 / 40 0 / 100
Status
AC × 20
AC × 20
RE × 19
AC × 20
RE × 43
Set Name Test Cases
small small/case_000.txt, small/case_001.txt, small/case_002.txt, small/case_003.txt, small/case_004.txt, small/case_005.txt, small/case_006.txt, small/case_007.txt, small/case_008.txt, small/case_009.txt, small/case_010.txt, small/case_011.txt, small/case_012.txt, small/case_013.txt, small/case_014.txt, small/case_015.txt, small/case_024.txt, small/case_025.txt, small/case_026.txt, small/case_027.txt
large1 large1/case_000.txt, large1/case_001.txt, large1/case_002.txt, large1/case_003.txt, large1/case_004.txt, large1/case_005.txt, large1/case_006.txt, large1/case_007.txt, large1/case_008.txt, large1/case_009.txt, large1/case_010.txt, large1/case_011.txt, large1/case_012.txt, large1/case_013.txt, large1/case_014.txt, large1/case_015.txt, large1/case_024.txt, large1/case_025.txt, large1/case_026.txt, large1/case_027.txt, large1/large1_case_000.txt, large1/large1_case_001.txt, large1/large1_case_002.txt, large1/large1_case_003.txt, large1/large1_case_004.txt, large1/large1_case_005.txt, large1/large1_case_006.txt, large1/large1_case_007.txt, large1/large1_case_008.txt, large1/large1_case_009.txt, large1/large1_case_010.txt, large1/large1_case_011.txt, large1/large1_case_012.txt, large1/large1_case_013.txt, large1/large1_case_014.txt, large1/large1_case_020.txt, large1/large1_case_021.txt, large1/large1_case_022.txt, large1/large1_case_023.txt
large3 large3/case_000.txt, large3/case_001.txt, large3/case_002.txt, large3/case_003.txt, large3/case_004.txt, large3/case_005.txt, large3/case_006.txt, large3/case_007.txt, large3/case_008.txt, large3/case_009.txt, large3/case_010.txt, large3/case_011.txt, large3/case_012.txt, large3/case_013.txt, large3/case_014.txt, large3/case_015.txt, large3/case_024.txt, large3/case_025.txt, large3/case_026.txt, large3/case_027.txt, large3/large1_case_000.txt, large3/large1_case_001.txt, large3/large1_case_002.txt, large3/large1_case_003.txt, large3/large1_case_004.txt, large3/large1_case_005.txt, large3/large1_case_006.txt, large3/large1_case_007.txt, large3/large1_case_008.txt, large3/large1_case_009.txt, large3/large1_case_010.txt, large3/large1_case_011.txt, large3/large1_case_012.txt, large3/large1_case_013.txt, large3/large1_case_014.txt, large3/large1_case_020.txt, large3/large1_case_021.txt, large3/large1_case_022.txt, large3/large1_case_023.txt, large3/large3_case_000.txt, large3/large3_case_001.txt, large3/large3_case_002.txt, large3/large3_case_003.txt, large3/large3_case_004.txt, large3/large3_case_005.txt, large3/large3_case_006.txt, large3/large3_case_007.txt, large3/large3_case_008.txt, large3/large3_case_009.txt, large3/large3_case_010.txt, large3/large3_case_011.txt, large3/large3_case_012.txt, large3/large3_case_013.txt, large3/large3_case_014.txt, large3/large3_case_015.txt, large3/large3_case_016.txt, large3/large3_case_017.txt, large3/large3_case_018.txt, large3/large3_case_019.txt, large3/large3_case_020.txt, large3/large3_case_021.txt, large3/large3_case_022.txt, large3/large3_case_023.txt
Case Name Status Exec Time Memory
large1/case_000.txt AC 32 ms 33408 KB
large1/case_001.txt AC 32 ms 33408 KB
large1/case_002.txt AC 32 ms 33408 KB
large1/case_003.txt AC 32 ms 33408 KB
large1/case_004.txt AC 33 ms 33408 KB
large1/case_005.txt AC 33 ms 33408 KB
large1/case_006.txt AC 33 ms 33408 KB
large1/case_007.txt AC 32 ms 33408 KB
large1/case_008.txt AC 32 ms 33408 KB
large1/case_009.txt AC 32 ms 33408 KB
large1/case_010.txt AC 32 ms 33408 KB
large1/case_011.txt AC 32 ms 33408 KB
large1/case_012.txt AC 33 ms 33408 KB
large1/case_013.txt AC 32 ms 33408 KB
large1/case_014.txt AC 32 ms 33408 KB
large1/case_015.txt AC 32 ms 33408 KB
large1/case_024.txt AC 33 ms 33408 KB
large1/case_025.txt AC 33 ms 33408 KB
large1/case_026.txt AC 33 ms 33408 KB
large1/case_027.txt AC 33 ms 33408 KB
large1/large1_case_000.txt RE 105 ms 33280 KB
large1/large1_case_001.txt RE 106 ms 33152 KB
large1/large1_case_002.txt RE 106 ms 33152 KB
large1/large1_case_003.txt RE 106 ms 33152 KB
large1/large1_case_004.txt RE 105 ms 33152 KB
large1/large1_case_005.txt RE 105 ms 33152 KB
large1/large1_case_006.txt RE 106 ms 33152 KB
large1/large1_case_007.txt RE 106 ms 33280 KB
large1/large1_case_008.txt RE 107 ms 33280 KB
large1/large1_case_009.txt RE 107 ms 33152 KB
large1/large1_case_010.txt RE 106 ms 33152 KB
large1/large1_case_011.txt RE 106 ms 33152 KB
large1/large1_case_012.txt RE 108 ms 33152 KB
large1/large1_case_013.txt RE 107 ms 33152 KB
large1/large1_case_014.txt RE 105 ms 33280 KB
large1/large1_case_020.txt RE 115 ms 33280 KB
large1/large1_case_021.txt RE 115 ms 33152 KB
large1/large1_case_022.txt RE 106 ms 33152 KB
large1/large1_case_023.txt RE 110 ms 33152 KB
large3/case_000.txt AC 32 ms 33408 KB
large3/case_001.txt AC 32 ms 33408 KB
large3/case_002.txt AC 32 ms 33408 KB
large3/case_003.txt AC 32 ms 33408 KB
large3/case_004.txt AC 33 ms 33408 KB
large3/case_005.txt AC 33 ms 33408 KB
large3/case_006.txt AC 33 ms 33408 KB
large3/case_007.txt AC 33 ms 33408 KB
large3/case_008.txt AC 32 ms 33408 KB
large3/case_009.txt AC 33 ms 33408 KB
large3/case_010.txt AC 33 ms 33408 KB
large3/case_011.txt AC 33 ms 33408 KB
large3/case_012.txt AC 32 ms 33408 KB
large3/case_013.txt AC 32 ms 33408 KB
large3/case_014.txt AC 32 ms 33408 KB
large3/case_015.txt AC 32 ms 33408 KB
large3/case_024.txt AC 32 ms 33408 KB
large3/case_025.txt AC 32 ms 33408 KB
large3/case_026.txt AC 33 ms 33408 KB
large3/case_027.txt AC 34 ms 33408 KB
large3/large1_case_000.txt RE 106 ms 33280 KB
large3/large1_case_001.txt RE 105 ms 33152 KB
large3/large1_case_002.txt RE 106 ms 33152 KB
large3/large1_case_003.txt RE 105 ms 33152 KB
large3/large1_case_004.txt RE 106 ms 33152 KB
large3/large1_case_005.txt RE 105 ms 33152 KB
large3/large1_case_006.txt RE 105 ms 33152 KB
large3/large1_case_007.txt RE 106 ms 33280 KB
large3/large1_case_008.txt RE 105 ms 33280 KB
large3/large1_case_009.txt RE 108 ms 33152 KB
large3/large1_case_010.txt RE 107 ms 33152 KB
large3/large1_case_011.txt RE 107 ms 33152 KB
large3/large1_case_012.txt RE 106 ms 33152 KB
large3/large1_case_013.txt RE 106 ms 33152 KB
large3/large1_case_014.txt RE 106 ms 33280 KB
large3/large1_case_020.txt RE 117 ms 33280 KB
large3/large1_case_021.txt RE 114 ms 33152 KB
large3/large1_case_022.txt RE 105 ms 33152 KB
large3/large1_case_023.txt RE 106 ms 33152 KB
large3/large3_case_000.txt RE 106 ms 33408 KB
large3/large3_case_001.txt RE 106 ms 33408 KB
large3/large3_case_002.txt RE 105 ms 33408 KB
large3/large3_case_003.txt RE 105 ms 33536 KB
large3/large3_case_004.txt RE 105 ms 33152 KB
large3/large3_case_005.txt RE 105 ms 33280 KB
large3/large3_case_006.txt RE 107 ms 33536 KB
large3/large3_case_007.txt RE 113 ms 33408 KB
large3/large3_case_008.txt RE 107 ms 33536 KB
large3/large3_case_009.txt RE 105 ms 33408 KB
large3/large3_case_010.txt RE 106 ms 33280 KB
large3/large3_case_011.txt RE 105 ms 33408 KB
large3/large3_case_012.txt RE 105 ms 33152 KB
large3/large3_case_013.txt RE 106 ms 33408 KB
large3/large3_case_014.txt RE 105 ms 33152 KB
large3/large3_case_015.txt RE 107 ms 33152 KB
large3/large3_case_016.txt RE 108 ms 33152 KB
large3/large3_case_017.txt RE 106 ms 33408 KB
large3/large3_case_018.txt RE 108 ms 33408 KB
large3/large3_case_019.txt RE 105 ms 33152 KB
large3/large3_case_020.txt RE 166 ms 33408 KB
large3/large3_case_021.txt RE 164 ms 33152 KB
large3/large3_case_022.txt RE 105 ms 33152 KB
large3/large3_case_023.txt RE 105 ms 33152 KB
small/case_000.txt AC 32 ms 33408 KB
small/case_001.txt AC 32 ms 33408 KB
small/case_002.txt AC 32 ms 33408 KB
small/case_003.txt AC 32 ms 33408 KB
small/case_004.txt AC 32 ms 33408 KB
small/case_005.txt AC 32 ms 33408 KB
small/case_006.txt AC 32 ms 33408 KB
small/case_007.txt AC 32 ms 33408 KB
small/case_008.txt AC 33 ms 33408 KB
small/case_009.txt AC 33 ms 33408 KB
small/case_010.txt AC 33 ms 33408 KB
small/case_011.txt AC 32 ms 33408 KB
small/case_012.txt AC 32 ms 33408 KB
small/case_013.txt AC 32 ms 33408 KB
small/case_014.txt AC 32 ms 33408 KB
small/case_015.txt AC 32 ms 33408 KB
small/case_024.txt AC 32 ms 33408 KB
small/case_025.txt AC 32 ms 33408 KB
small/case_026.txt AC 32 ms 33408 KB
small/case_027.txt AC 32 ms 33408 KB