Submission #39444028
Source Code Expand
#include <iostream> using namespace std; // 入力で与えられる変数 int N; int A[100009], B[100009], C[100009], D[100009]; // 座標 (i+0.5, j+0.5) に置かれている紙の数 T[i][j] int T[1509][1509]; int main() { // 入力 cin >> N; for (int i = 1; i <= N; i++) cin >> A[i] >> B[i] >> C[i] >> D[i]; // 各紙について +1/-1 を加算 for (int i = 0; i <= 1500; i++) { for (int j = 0; j <= 1500; j++) T[i][j] = 0; } for (int i = 1; i <= N; i++) { T[A[i]][B[i]] += 1; T[A[i]][D[i]] -= 1; T[C[i]][B[i]] -= 1; T[C[i]][D[i]] += 1; } // 二次元累積和をとる for (int i = 1; i <= 1500; i++) { for (int j = 1; j <= 1500; j++) T[i][j] = T[i][j - 1] + T[i][j]; } for (int i = 1; i <= 1500; i++) { for (int j = 1; j <= 1500; j++) T[i][j] = T[i - 1][j] + T[i][j]; } // 面積を数える int Answer = 0; for (int i = 0; i <= 1500; i++) { for (int j = 0; j <= 1500; j++) { if (T[i][j] >= 1) Answer += 1; } } cout << Answer << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | B09 - Papers |
User | konaga |
Language | C++ (GCC 9.2.1) |
Score | 0 |
Code Size | 1105 Byte |
Status | WA |
Exec Time | 84 ms |
Memory | 13960 KiB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 1000 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample01.txt |
All | max00.txt, random00.txt, random01.txt, random02.txt, random03.txt, random04.txt, sample01.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
max00.txt | WA | 84 ms | 13960 KiB |
random00.txt | AC | 20 ms | 12300 KiB |
random01.txt | AC | 18 ms | 12456 KiB |
random02.txt | AC | 18 ms | 12448 KiB |
random03.txt | AC | 22 ms | 12360 KiB |
random04.txt | AC | 20 ms | 12376 KiB |
sample01.txt | AC | 17 ms | 12304 KiB |