Submission #60240
Source Code Expand
#include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <cassert> #include <iostream> #include <sstream> #include <string> #include <vector> #include <queue> #include <set> #include <map> #include <utility> #include <numeric> #include <algorithm> #include <bitset> #include <complex> using namespace std; typedef unsigned uint; typedef long long Int; typedef vector<int> vint; typedef pair<int,int> pint; #define mp make_pair template<class T> void pv(T a, T b) { for (T i = a; i != b; ++i) cout << *i << " "; cout << endl; } template<class T> void chmin(T &t, T f) { if (t > f) t = f; } template<class T> void chmax(T &t, T f) { if (t < f) t = f; } int in() { int x; scanf("%d", &x); return x; } const int L = 2010; int N; int T[10010], X[10010], Y[10010], S[10010]; Int ps[3][2020]; int main() { int i, d; int x, y, y0, y1; for (; ~scanf("%d", &N); ) { for (i = 0; i < N; ++i) { T[i] = in(); X[i] = in() + L / 2; Y[i] = in() + L / 2; S[i] = in() - 1; } Int ans = 0; for (x = 0; x < L; ++x) { memset(ps, 0, sizeof(ps)); for (i = 0; i < N; ++i) { /* X[i] - S[i] <= x <= X[i] + S[i] Y[i] - S[i] <= y <= Y[i] + S[i] (X[i] + Y[i]) - S[i] <= x + y <= (X[i] + Y[i]) + S[i] */ if (X[i] - S[i] <= x && x <= X[i] + S[i]) { y0 = max(Y[i] - S[i], (X[i] + Y[i]) - S[i] - x); y1 = min(Y[i] + S[i], (X[i] + Y[i]) + S[i] - x); if (y0 <= y1) { int l = y1 - y0 - S[i]; switch (T[i]) { case 1: { ps[0][y0 ] += 1; ps[0][y1 + 1] -= 1; } break; case 2: { ps[1][y0 ] += +1; ps[1][y0 + l] -= +1; ps[0][y0 ] += -(y0 - 1); ps[0][y0 + l] -= -(y0 - 1); ps[0][y0 + l ] += l + 1; ps[0][y1 - l + 1] -= l + 1; ps[1][y1 - l + 1] += -1; ps[1][y1 + 1] -= -1; ps[0][y1 - l + 1] += +(y1 + 1); ps[0][y1 + 1] -= +(y1 + 1); } break; case 3: { ps[2][y0 ] += 1; ps[2][y0 + l] -= 1; ps[1][y0 ] += -2 * (y0 - 1); ps[1][y0 + l] -= -2 * (y0 - 1); ps[0][y0 ] += (y0 - 1) * (y0 - 1); ps[0][y0 + l] -= (y0 - 1) * (y0 - 1); ps[0][y0 + l ] += (l + 1) * (l + 1); ps[0][y1 - l + 1] -= (l + 1) * (l + 1); ps[2][y1 - l + 1] += 1; ps[2][y1 + 1] -= 1; ps[1][y1 - l + 1] += -2 * (y1 + 1); ps[1][y1 + 1] -= -2 * (y1 + 1); ps[0][y1 - l + 1] += (y1 + 1) * (y1 + 1); ps[0][y1 + 1] -= (y1 + 1) * (y1 + 1); } break; default: assert(0); } } } } Int now[3] = {}; for (y = 0; y < L; ++y) { for (d = 0; d < 3; ++d) { now[d] += ps[d][y]; } Int tmp = (now[2] * y + now[1]) * y + now[0]; // if(tmp)cout<<x-L/2<<" "<<y-L/2<<" : "<<tmp<<endl; chmax(ans, tmp); } } printf("%lld\n", ans); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | I - その味は甘くて |
User | hos_lyric |
Language | C++ (GCC 4.4.7) |
Score | 150 |
Code Size | 3059 Byte |
Status | AC |
Exec Time | 247 ms |
Memory | 928 KB |
Compile Error
./Main.cpp: In function ‘int in()’: ./Main.cpp:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result
Judge Result
Set Name | small | large1 | large3 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 10 / 10 | 40 / 40 | 100 / 100 | ||||||
Status |
|
|
|
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 | 39 ms | 784 KB |
large1/case_001.txt | AC | 38 ms | 780 KB |
large1/case_002.txt | AC | 38 ms | 696 KB |
large1/case_003.txt | AC | 41 ms | 772 KB |
large1/case_004.txt | AC | 39 ms | 784 KB |
large1/case_005.txt | AC | 39 ms | 816 KB |
large1/case_006.txt | AC | 43 ms | 784 KB |
large1/case_007.txt | AC | 39 ms | 788 KB |
large1/case_008.txt | AC | 39 ms | 788 KB |
large1/case_009.txt | AC | 38 ms | 792 KB |
large1/case_010.txt | AC | 38 ms | 788 KB |
large1/case_011.txt | AC | 39 ms | 676 KB |
large1/case_012.txt | AC | 37 ms | 784 KB |
large1/case_013.txt | AC | 38 ms | 760 KB |
large1/case_014.txt | AC | 38 ms | 784 KB |
large1/case_015.txt | AC | 39 ms | 784 KB |
large1/case_024.txt | AC | 39 ms | 816 KB |
large1/case_025.txt | AC | 39 ms | 700 KB |
large1/case_026.txt | AC | 39 ms | 784 KB |
large1/case_027.txt | AC | 39 ms | 784 KB |
large1/large1_case_000.txt | AC | 178 ms | 884 KB |
large1/large1_case_001.txt | AC | 179 ms | 820 KB |
large1/large1_case_002.txt | AC | 178 ms | 828 KB |
large1/large1_case_003.txt | AC | 179 ms | 912 KB |
large1/large1_case_004.txt | AC | 179 ms | 832 KB |
large1/large1_case_005.txt | AC | 178 ms | 820 KB |
large1/large1_case_006.txt | AC | 178 ms | 912 KB |
large1/large1_case_007.txt | AC | 177 ms | 888 KB |
large1/large1_case_008.txt | AC | 179 ms | 824 KB |
large1/large1_case_009.txt | AC | 178 ms | 820 KB |
large1/large1_case_010.txt | AC | 178 ms | 920 KB |
large1/large1_case_011.txt | AC | 179 ms | 924 KB |
large1/large1_case_012.txt | AC | 178 ms | 824 KB |
large1/large1_case_013.txt | AC | 179 ms | 816 KB |
large1/large1_case_014.txt | AC | 179 ms | 820 KB |
large1/large1_case_020.txt | AC | 152 ms | 820 KB |
large1/large1_case_021.txt | AC | 149 ms | 816 KB |
large1/large1_case_022.txt | AC | 145 ms | 824 KB |
large1/large1_case_023.txt | AC | 145 ms | 928 KB |
large3/case_000.txt | AC | 38 ms | 792 KB |
large3/case_001.txt | AC | 38 ms | 696 KB |
large3/case_002.txt | AC | 38 ms | 796 KB |
large3/case_003.txt | AC | 39 ms | 692 KB |
large3/case_004.txt | AC | 42 ms | 788 KB |
large3/case_005.txt | AC | 39 ms | 696 KB |
large3/case_006.txt | AC | 40 ms | 788 KB |
large3/case_007.txt | AC | 40 ms | 784 KB |
large3/case_008.txt | AC | 39 ms | 820 KB |
large3/case_009.txt | AC | 41 ms | 792 KB |
large3/case_010.txt | AC | 41 ms | 776 KB |
large3/case_011.txt | AC | 40 ms | 760 KB |
large3/case_012.txt | AC | 39 ms | 808 KB |
large3/case_013.txt | AC | 39 ms | 672 KB |
large3/case_014.txt | AC | 39 ms | 692 KB |
large3/case_015.txt | AC | 38 ms | 668 KB |
large3/case_024.txt | AC | 39 ms | 692 KB |
large3/case_025.txt | AC | 39 ms | 788 KB |
large3/case_026.txt | AC | 38 ms | 696 KB |
large3/case_027.txt | AC | 39 ms | 788 KB |
large3/large1_case_000.txt | AC | 178 ms | 916 KB |
large3/large1_case_001.txt | AC | 177 ms | 824 KB |
large3/large1_case_002.txt | AC | 178 ms | 916 KB |
large3/large1_case_003.txt | AC | 178 ms | 828 KB |
large3/large1_case_004.txt | AC | 178 ms | 920 KB |
large3/large1_case_005.txt | AC | 178 ms | 816 KB |
large3/large1_case_006.txt | AC | 178 ms | 816 KB |
large3/large1_case_007.txt | AC | 178 ms | 916 KB |
large3/large1_case_008.txt | AC | 179 ms | 912 KB |
large3/large1_case_009.txt | AC | 178 ms | 912 KB |
large3/large1_case_010.txt | AC | 178 ms | 828 KB |
large3/large1_case_011.txt | AC | 178 ms | 832 KB |
large3/large1_case_012.txt | AC | 178 ms | 828 KB |
large3/large1_case_013.txt | AC | 178 ms | 828 KB |
large3/large1_case_014.txt | AC | 178 ms | 832 KB |
large3/large1_case_020.txt | AC | 148 ms | 836 KB |
large3/large1_case_021.txt | AC | 148 ms | 924 KB |
large3/large1_case_022.txt | AC | 144 ms | 824 KB |
large3/large1_case_023.txt | AC | 144 ms | 832 KB |
large3/large3_case_000.txt | AC | 242 ms | 824 KB |
large3/large3_case_001.txt | AC | 247 ms | 824 KB |
large3/large3_case_002.txt | AC | 242 ms | 916 KB |
large3/large3_case_003.txt | AC | 241 ms | 828 KB |
large3/large3_case_004.txt | AC | 242 ms | 820 KB |
large3/large3_case_005.txt | AC | 244 ms | 824 KB |
large3/large3_case_006.txt | AC | 244 ms | 832 KB |
large3/large3_case_007.txt | AC | 243 ms | 832 KB |
large3/large3_case_008.txt | AC | 245 ms | 820 KB |
large3/large3_case_009.txt | AC | 242 ms | 828 KB |
large3/large3_case_010.txt | AC | 241 ms | 828 KB |
large3/large3_case_011.txt | AC | 243 ms | 832 KB |
large3/large3_case_012.txt | AC | 243 ms | 828 KB |
large3/large3_case_013.txt | AC | 242 ms | 908 KB |
large3/large3_case_014.txt | AC | 243 ms | 920 KB |
large3/large3_case_015.txt | AC | 243 ms | 828 KB |
large3/large3_case_016.txt | AC | 243 ms | 820 KB |
large3/large3_case_017.txt | AC | 246 ms | 828 KB |
large3/large3_case_018.txt | AC | 243 ms | 824 KB |
large3/large3_case_019.txt | AC | 242 ms | 828 KB |
large3/large3_case_020.txt | AC | 196 ms | 832 KB |
large3/large3_case_021.txt | AC | 195 ms | 820 KB |
large3/large3_case_022.txt | AC | 191 ms | 824 KB |
large3/large3_case_023.txt | AC | 190 ms | 828 KB |
small/case_000.txt | AC | 38 ms | 812 KB |
small/case_001.txt | AC | 38 ms | 780 KB |
small/case_002.txt | AC | 38 ms | 668 KB |
small/case_003.txt | AC | 38 ms | 796 KB |
small/case_004.txt | AC | 39 ms | 784 KB |
small/case_005.txt | AC | 39 ms | 768 KB |
small/case_006.txt | AC | 39 ms | 792 KB |
small/case_007.txt | AC | 38 ms | 788 KB |
small/case_008.txt | AC | 39 ms | 776 KB |
small/case_009.txt | AC | 39 ms | 792 KB |
small/case_010.txt | AC | 38 ms | 788 KB |
small/case_011.txt | AC | 40 ms | 816 KB |
small/case_012.txt | AC | 39 ms | 664 KB |
small/case_013.txt | AC | 38 ms | 788 KB |
small/case_014.txt | AC | 39 ms | 784 KB |
small/case_015.txt | AC | 39 ms | 776 KB |
small/case_024.txt | AC | 39 ms | 780 KB |
small/case_025.txt | AC | 38 ms | 784 KB |
small/case_026.txt | AC | 39 ms | 784 KB |
small/case_027.txt | AC | 39 ms | 776 KB |