Submission #1348012

#TimeUsernameProblemLanguageResultExecution timeMemory
1348012boropotoQuality Of Living (IOI10_quality)C++20
0 / 100
5093 ms580 KiB
#include <bits/stdc++.h>;
#include "quality.h"
const int maxn = 3005;
using namespace std;
int ans=-1, n, m, a[maxn][maxn], h, w,pref[maxn][maxn],k;
bool check(int x)
{
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            pref[i][j]=pref[i][j-1];
            if(a[i][j]<x)
            {
                pref[i][j]++;
            }
        }
        for(int j=1;j<=m;j++)
        {
            pref[i][j]+=pref[i-1][j];
        }
    }
    for(int i=h;i<=n;i++)
    {
        for(int j=w;j<=m;j++)
        {
            if(pref[i][j]-pref[i-h][j]-pref[i][j-w]+pref[i-h][j-w]==k)
            {
                return 1;
            }
        }
    }
    return 0;
}
int rectangle(int R, int C, int H, int W, int Q[3001][3001])
{
    n=R;
    m=C;
    h=H;
    w=W;
    k=n*m/2;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            a[i+1][j+1]=Q[i][j];
        }
    }
    int l=1,r=n*m,mid;
    while(l<=r)
    {
        mid=(l+r)/2;
        if(check(mid)==1)
        {
            r=mid-1;
            ans=mid;
        }
        else
        {
            l=mid+1;
        }
    }
}

Compilation message (stderr)

quality.cpp:1:25: warning: extra tokens at end of #include directive
    1 | #include <bits/stdc++.h>;
      |                         ^
quality.cpp: In function 'int rectangle(int, int, int, int, int (*)[3001])':
quality.cpp:63:1: warning: no return statement in function returning non-void [-Wreturn-type]
   63 | }
      | ^
#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...