# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
288638 | 2020-09-01T17:30:27 Z | MasterTaster | 삶의 질 (IOI10_quality) | C++14 | 2906 ms | 127788 KB |
#include<bits/stdc++.h> #include <stdio.h> #include <stdlib.h> //#include "quality.h" using namespace std; #define ll long long #define pb push_back #define pii pair<int, int> #define xx first #define yy second #define endl "\n" #define MAXN 9000000 static int R,C,H,W,Q[3001][3001],ans; int pref[3010][3010], q[3010][3010]; //int bit[310]; int pola; bool check(int med, int R, int C, int H, int W) { ///cout<<endl; for (int i=0; i<R; i++) { for (int j=0; j<C; j++) { pref[i][j]=0; if (q[i][j]<=med) pref[i][j]++; if (i>0) pref[i][j]+=pref[i-1][j]; if (j>0) pref[i][j]+=pref[i][j-1]; if (i>0 && j>0) pref[i][j]-=pref[i-1][j-1]; ///cout<<pref[i][j]<<" "; } ///cout<<endl; } for (int i=H-1; i<R; i++) { for (int j=W-1; j<C; j++) { int koliko=pref[i][j]; if (i>=H) koliko-=pref[i-H][j]; if (j>=W) koliko-=pref[i][j-W]; if (i>=H && j>=W) koliko+=pref[i-H][j-W]; if (koliko>=pola) { return true; } } } return false; } int rectangle(int R, int C, int H, int W, int Q[3001][3001]) { pola=H*W/2+1; for (int i=0; i<R; i++) for (int j=0; j<C; j++) q[i][j]=Q[i][j]; int l=1, r=R*C; int ress=R*C; while (l<=r) { int mid=l+(r-l)/2; ///cout<<mid<<":"<<endl<<endl<<endl; if (check(mid, R, C, H, W)) { ress=mid; r=mid-1; } else l=mid+1; } return ress; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 640 KB | Output is correct |
2 | Correct | 1 ms | 640 KB | Output is correct |
3 | Correct | 1 ms | 640 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 640 KB | Output is correct |
2 | Correct | 1 ms | 640 KB | Output is correct |
3 | Correct | 1 ms | 640 KB | Output is correct |
4 | Correct | 3 ms | 1664 KB | Output is correct |
5 | Correct | 3 ms | 1664 KB | Output is correct |
6 | Correct | 3 ms | 1664 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 640 KB | Output is correct |
2 | Correct | 1 ms | 640 KB | Output is correct |
3 | Correct | 1 ms | 640 KB | Output is correct |
4 | Correct | 3 ms | 1664 KB | Output is correct |
5 | Correct | 3 ms | 1664 KB | Output is correct |
6 | Correct | 3 ms | 1664 KB | Output is correct |
7 | Correct | 27 ms | 5596 KB | Output is correct |
8 | Correct | 26 ms | 5504 KB | Output is correct |
9 | Correct | 26 ms | 5376 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 640 KB | Output is correct |
2 | Correct | 1 ms | 640 KB | Output is correct |
3 | Correct | 1 ms | 640 KB | Output is correct |
4 | Correct | 3 ms | 1664 KB | Output is correct |
5 | Correct | 3 ms | 1664 KB | Output is correct |
6 | Correct | 3 ms | 1664 KB | Output is correct |
7 | Correct | 27 ms | 5596 KB | Output is correct |
8 | Correct | 26 ms | 5504 KB | Output is correct |
9 | Correct | 26 ms | 5376 KB | Output is correct |
10 | Correct | 310 ms | 30888 KB | Output is correct |
11 | Correct | 300 ms | 30840 KB | Output is correct |
12 | Correct | 155 ms | 21496 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 640 KB | Output is correct |
2 | Correct | 1 ms | 640 KB | Output is correct |
3 | Correct | 1 ms | 640 KB | Output is correct |
4 | Correct | 3 ms | 1664 KB | Output is correct |
5 | Correct | 3 ms | 1664 KB | Output is correct |
6 | Correct | 3 ms | 1664 KB | Output is correct |
7 | Correct | 27 ms | 5596 KB | Output is correct |
8 | Correct | 26 ms | 5504 KB | Output is correct |
9 | Correct | 26 ms | 5376 KB | Output is correct |
10 | Correct | 310 ms | 30888 KB | Output is correct |
11 | Correct | 300 ms | 30840 KB | Output is correct |
12 | Correct | 155 ms | 21496 KB | Output is correct |
13 | Correct | 2902 ms | 127788 KB | Output is correct |
14 | Correct | 2906 ms | 117112 KB | Output is correct |
15 | Correct | 2618 ms | 115792 KB | Output is correct |