Submission #996046

#TimeUsernameProblemLanguageResultExecution timeMemory
996046vqpahmadQuality Of Living (IOI10_quality)C++14
0 / 100
112 ms37960 KiB
#include "quality.h"
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'
#define FF first
#define SS second
#define all(a) a.begin(), a.end()
#define mod (ll)(1000000007)

int rectangle(int rr, int cc, int h, int w, int A[3001][3001]){
    int l = 1, r = rr * cc, res;

    while (l < r) {
        int md = (l + r) / 2;
        int mx = 1000000000;

        vector<vector<int> > CC(3001, vector<int>(3001));
        for (int i = 0; i < rr; i++) {
            for (int j = 0; j < cc; j++) {
                CC[i][j] = (A[i][j] <= md);
                if (i) {
                    CC[i][j] += CC[i - 1][j];
                }
                if (j) {
                    CC[i][j] += CC[i][j - 1];
                }
		    if (i && j){
			    CC[i][j] -= CC[i - 1][j - 1];
		    }

                if (rr >= h - 1 && cc >= w - 1) {
                    int sum = CC[i][j];
                    if (i - h >= 0) {
                        sum -= CC[i - h][j];
                    }
                    if (j - w >= 0) {
                        sum -= CC[i][j - w];
                    }
                    if (i - h >= 0 && j - w >= 0) {
                        sum += CC[i - h][j - w];
                    }
                    mx = max(mx, sum);
                }
            }
        }

        if (mx >= h * w / 2) {
            res = md, r = md - 1;
        }
        else {
            l = md + 1;
        }
    }
    return res;
}

Compilation message (stderr)

quality.cpp: In function 'int rectangle(int, int, int, int, int (*)[3001])':
quality.cpp:55:12: warning: 'res' may be used uninitialized in this function [-Wmaybe-uninitialized]
   55 |     return res;
      |            ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...