제출 #147434

#제출 시각아이디문제언어결과실행 시간메모리
147434mosiashvililukaRectangles (IOI19_rect)C++14
0 / 100
6 ms760 KiB
#include<bits/stdc++.h>
using namespace std;
long long a,b,c,d,e,f[2509][2509],z,x,pas;
bool dp[89][89][89],dp2[89][89][89];
long long count_rectangles(vector <vector <int> > A){
	a=A.size();
	b=A[0].size();
	a--;b--;
	for(c=0; c<=a; c++) for(d=0; d<=b; d++) f[c][d]=A[c][d];
	for(c=1; c<a; c++){
		for(d=1; d<b; d++){
			z=0;
			for(e=d; e<b; e++){
				if(z<f[c][e]) z=f[c][e];
				if(z>=f[c][d-1]) break;
				if(z<f[c][e+1]){
					dp[c][d][e]=1;
				}
			}
		}
	}
//	cout<<dp[2][1][1]<<endl;
	for(c=1; c<a; c++){
		for(d=1; d<a; d++){
			for(e=d; e<a; e++){
				x=0;
				for(z=c; z<a; z++){
					if(dp[z][d][e]==0) break;
					//if(c==1&&d==1&&e==1&&z==2) cout<<"Dsada"<<endl;
					if(x<f[z][d]) x=f[z][d];
					if(x>=f[c-1][d]) break;
					if(x<f[z+1][d]){
					    pas++;
					  //  cout<<c<<" "<<d<<" "<<z<<" "<<e<<endl;
					}
				}
			}
		}
	}
	return pas;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...