Submission #61446


Source Code Expand

#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cctype>
#include <cmath>
#include <cassert>
using namespace std;

#define all(c) (c).begin(), (c).end()
#define iter(c) __typeof((c).begin())
#define cpresent(c, e) (find(all(c), (e)) != (c).end())
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define tr(c, i) for (iter(c) i = (c).begin(); i != (c).end(); ++i)
#define pb(e) push_back(e)
#define mp(a, b) make_pair(a, b)

typedef long long ll;

const int W = 2000, H = 2000;
const int P = W / 2;

int yoko[H + 10][W + 10], tate[H + 10][W + 10], nana[H + 10][W + 10];

inline int f(int T, int S, int s) {
  if (T == 1) return 1;
  else if (T == 2) return S - s + 1;
  else return (S - s + 1) * (S - s + 1);
}

int main() {
  int N;
  while (1 == scanf("%d", &N) && N) {
    memset(yoko, 0, sizeof(yoko));
    memset(tate, 0, sizeof(tate));
    memset(nana, 0, sizeof(nana));

    rep (i, N) {
      int T, X, Y, S;
      scanf("%d%d%d%d", &T, &X, &Y, &S);
      --S;
      X += P;
      Y += P;

      yoko[Y][X] += f(T, S, 0);
      yoko[Y][X + 1] -= f(T, S, 0);

      for (int s = 1; s <= S; ++s) {
        int v = f(T, S, s);

        yoko[Y + s][X - s] += v;
        yoko[Y + s][X] -= v;

        yoko[Y - s][X + s + 1] -= v;
        yoko[Y - s][X + 1] += v;

        tate[Y][X - s] += v;
        tate[Y + s][X - s] -= v;

        tate[Y + 1][X + s] -= v;
        tate[Y - s + 1][X + s] += v;

        nana[Y - s][X] += v;
        nana[Y][X - s] -= v;

        nana[Y + s + 1][X - 1] -= v;
        nana[Y + 1][X + s - 1] += v;
      }
    }

    // for (int y = H - 1; y >= 0; --y) {
    //   rep (x, W) printf("%3d", yoko[y][x]);
    //   puts("");
    // }
    // puts("");

    rep (y, H) for (int x = 1; x < W; ++x) yoko[y][x] += yoko[y][x - 1];
    rep (x, W) for (int y = 1; y < H; ++y) tate[y][x] += tate[y - 1][x];
    for (int y = 1; y < H; ++y) for (int x = 0; x + 1 < W; ++x) nana[y][x] += nana[y - 1][x + 1];

    int ans = 0;
    rep (y, H) rep (x, W) {
      ans = max(ans,yoko[y][x] + tate[y][x] + nana[y][x]);
    }
    printf("%d\n", ans);

    // for (int y = H - 1; y >= 0; --y) { rep (x, W) printf("%3d", yoko[y][x] + tate[y][x] + nana[y][x]); puts(""); } puts("CHANGE W AND H!!");
  }

  return 0;
}

Submission Info

Submission Time
Task I - その味は甘くて
User iwiwi
Language C++ (G++ 4.6.4)
Score 150
Code Size 2508 Byte
Status AC
Exec Time 721 ms
Memory 48068 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:48:40: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]

Judge Result

Set Name small large1 large3
Score / Max Score 10 / 10 40 / 40 100 / 100
Status
AC × 20
AC × 39
AC × 63
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 176 ms 48044 KB
large1/case_001.txt AC 182 ms 48052 KB
large1/case_002.txt AC 179 ms 48056 KB
large1/case_003.txt AC 183 ms 48056 KB
large1/case_004.txt AC 181 ms 48064 KB
large1/case_005.txt AC 182 ms 48028 KB
large1/case_006.txt AC 180 ms 48048 KB
large1/case_007.txt AC 185 ms 48060 KB
large1/case_008.txt AC 186 ms 48056 KB
large1/case_009.txt AC 182 ms 48060 KB
large1/case_010.txt AC 180 ms 48048 KB
large1/case_011.txt AC 188 ms 48048 KB
large1/case_012.txt AC 181 ms 48056 KB
large1/case_013.txt AC 182 ms 48040 KB
large1/case_014.txt AC 183 ms 48064 KB
large1/case_015.txt AC 178 ms 48052 KB
large1/case_024.txt AC 183 ms 48068 KB
large1/case_025.txt AC 184 ms 48048 KB
large1/case_026.txt AC 181 ms 48048 KB
large1/case_027.txt AC 186 ms 48048 KB
large1/large1_case_000.txt AC 628 ms 48056 KB
large1/large1_case_001.txt AC 594 ms 48052 KB
large1/large1_case_002.txt AC 620 ms 47976 KB
large1/large1_case_003.txt AC 721 ms 47980 KB
large1/large1_case_004.txt AC 613 ms 48060 KB
large1/large1_case_005.txt AC 592 ms 48064 KB
large1/large1_case_006.txt AC 607 ms 48056 KB
large1/large1_case_007.txt AC 609 ms 48052 KB
large1/large1_case_008.txt AC 610 ms 48056 KB
large1/large1_case_009.txt AC 626 ms 47980 KB
large1/large1_case_010.txt AC 615 ms 48052 KB
large1/large1_case_011.txt AC 614 ms 48052 KB
large1/large1_case_012.txt AC 628 ms 48048 KB
large1/large1_case_013.txt AC 599 ms 48056 KB
large1/large1_case_014.txt AC 602 ms 48060 KB
large1/large1_case_020.txt AC 429 ms 48048 KB
large1/large1_case_021.txt AC 421 ms 48048 KB
large1/large1_case_022.txt AC 429 ms 48016 KB
large1/large1_case_023.txt AC 420 ms 48048 KB
large3/case_000.txt AC 176 ms 48048 KB
large3/case_001.txt AC 178 ms 48028 KB
large3/case_002.txt AC 176 ms 48040 KB
large3/case_003.txt AC 178 ms 48056 KB
large3/case_004.txt AC 182 ms 48044 KB
large3/case_005.txt AC 178 ms 48056 KB
large3/case_006.txt AC 182 ms 48052 KB
large3/case_007.txt AC 178 ms 48052 KB
large3/case_008.txt AC 179 ms 48044 KB
large3/case_009.txt AC 179 ms 48048 KB
large3/case_010.txt AC 185 ms 48056 KB
large3/case_011.txt AC 183 ms 48052 KB
large3/case_012.txt AC 186 ms 48052 KB
large3/case_013.txt AC 183 ms 48004 KB
large3/case_014.txt AC 180 ms 48048 KB
large3/case_015.txt AC 180 ms 48028 KB
large3/case_024.txt AC 179 ms 48052 KB
large3/case_025.txt AC 191 ms 48028 KB
large3/case_026.txt AC 180 ms 48052 KB
large3/case_027.txt AC 179 ms 48028 KB
large3/large1_case_000.txt AC 591 ms 48056 KB
large3/large1_case_001.txt AC 599 ms 48012 KB
large3/large1_case_002.txt AC 637 ms 48048 KB
large3/large1_case_003.txt AC 600 ms 48044 KB
large3/large1_case_004.txt AC 590 ms 48052 KB
large3/large1_case_005.txt AC 594 ms 48060 KB
large3/large1_case_006.txt AC 636 ms 48052 KB
large3/large1_case_007.txt AC 615 ms 48020 KB
large3/large1_case_008.txt AC 625 ms 48052 KB
large3/large1_case_009.txt AC 605 ms 47996 KB
large3/large1_case_010.txt AC 598 ms 48056 KB
large3/large1_case_011.txt AC 612 ms 48052 KB
large3/large1_case_012.txt AC 616 ms 48052 KB
large3/large1_case_013.txt AC 584 ms 48056 KB
large3/large1_case_014.txt AC 616 ms 48048 KB
large3/large1_case_020.txt AC 420 ms 48044 KB
large3/large1_case_021.txt AC 418 ms 48052 KB
large3/large1_case_022.txt AC 419 ms 48060 KB
large3/large1_case_023.txt AC 424 ms 48052 KB
large3/large3_case_000.txt AC 614 ms 48032 KB
large3/large3_case_001.txt AC 656 ms 48056 KB
large3/large3_case_002.txt AC 640 ms 48060 KB
large3/large3_case_003.txt AC 636 ms 48044 KB
large3/large3_case_004.txt AC 610 ms 48056 KB
large3/large3_case_005.txt AC 607 ms 48064 KB
large3/large3_case_006.txt AC 626 ms 48048 KB
large3/large3_case_007.txt AC 622 ms 48028 KB
large3/large3_case_008.txt AC 622 ms 48048 KB
large3/large3_case_009.txt AC 621 ms 48056 KB
large3/large3_case_010.txt AC 602 ms 48048 KB
large3/large3_case_011.txt AC 615 ms 48060 KB
large3/large3_case_012.txt AC 619 ms 48056 KB
large3/large3_case_013.txt AC 598 ms 48048 KB
large3/large3_case_014.txt AC 626 ms 48068 KB
large3/large3_case_015.txt AC 655 ms 48060 KB
large3/large3_case_016.txt AC 612 ms 48052 KB
large3/large3_case_017.txt AC 627 ms 48056 KB
large3/large3_case_018.txt AC 670 ms 48048 KB
large3/large3_case_019.txt AC 650 ms 48060 KB
large3/large3_case_020.txt AC 435 ms 47988 KB
large3/large3_case_021.txt AC 416 ms 48048 KB
large3/large3_case_022.txt AC 424 ms 48056 KB
large3/large3_case_023.txt AC 419 ms 48056 KB
small/case_000.txt AC 181 ms 48036 KB
small/case_001.txt AC 183 ms 48056 KB
small/case_002.txt AC 183 ms 48056 KB
small/case_003.txt AC 185 ms 48060 KB
small/case_004.txt AC 182 ms 48028 KB
small/case_005.txt AC 185 ms 48064 KB
small/case_006.txt AC 182 ms 48048 KB
small/case_007.txt AC 179 ms 48060 KB
small/case_008.txt AC 185 ms 48064 KB
small/case_009.txt AC 187 ms 48052 KB
small/case_010.txt AC 177 ms 48052 KB
small/case_011.txt AC 182 ms 48056 KB
small/case_012.txt AC 178 ms 48060 KB
small/case_013.txt AC 179 ms 48048 KB
small/case_014.txt AC 181 ms 48048 KB
small/case_015.txt AC 179 ms 48052 KB
small/case_024.txt AC 182 ms 48060 KB
small/case_025.txt AC 184 ms 48044 KB
small/case_026.txt AC 181 ms 48024 KB
small/case_027.txt AC 190 ms 48056 KB