| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1012976 | 12345678 | Rectangles (IOI19_rect) | C++17 | 10 ms | 576 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "rect.h"
#include <bits/stdc++.h>
#pragma gcc-optimize("o3, unroll-loops")
using namespace std;
long long count_rectangles(std::vector<std::vector<int> > a) {
int n=a.size(), m=a[0].size();
long long res=0;
for (int r1=1; r1<n-1; r1++)
{
for (int c1=1; c1<m-1; c1++)
{
bool f=0;
vector<int> c(m, 1), mxc(m);
for (int r2=r1; r2<n-1; r2++)
{
int mx=0;
for (int c2=c1; c2<m-1; c2++)
{
bool f=0;
if (c[c2]==2) break;
mx=max(mx, a[r2][c2]);
mxc[c2]=max(mxc[c2], a[r2][c2]);
if (mx>=a[r2][c1-1])
{
c[c2]=2;
break;
}
if (mxc[c2]>=a[r1-1][c2]||mxc[c2]>=a[r2+1][c2]) f=1;
if (mx>=a[r2][c2+1]) c[c2]=0;
//if (r1==3&&c1==2&&r2==3&&c2==3) cout<<"max "<<mx<<' '<<a[r2][c2+1]<<' '<<c[c2]<<'\n';
if (c[c2]==1&&!f) res++;//cout<<"debug "<<r1<<' '<<c1<<' '<<r2<<' '<<c2<<'\n';
}
}
}
}
return res;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
