제출 #1235243

#제출 시각아이디문제언어결과실행 시간메모리
1235243jundiFancy Fence (CEOI20_fancyfence)C++20
12 / 100
2 ms328 KiB
#include <bits/stdc++.h> using namespace std; #define lint long long int int mod=1e9+7; int main(){ int n; cin>>n; vector<vector<int>> g(52,vector<int>(52,0)); vector<int> h(n+1); vector<int> w(n+1); for(int i=1;i<=n;i++) cin>>h[i]; for(int i=1;i<=n;i++) cin>>w[i]; int re=0; int maxh=0; for(int i=1;i<=n;i++){ maxh=max(maxh,h[i]); for(int j=1;j<=w[i];j++){ re++; for(int k=1;k<=h[i];k++){ g[re][k]=1; } } } vector<vector<int>> a(52,vector<int>(52,0)); for(int i=1;i<=re;i++){ for(int j=1;j<=maxh;j++){ a[i][j]=a[i-1][j]+a[i][j-1]-a[i-1][j-1]+g[i][j]; } } // for(int i=1;i<=re;i++){ // for(int j=1;j<=maxh;j++){ // cout<<a[i][j]<<" "; // } // cout<<endl; // } int ans=0; for(int x1=1;x1<=re;x1++){ for(int y1=1;y1<=maxh;y1++){ for(int xx=0;xx+x1<=re;xx++){ for(int yy=0;yy+y1<=maxh;yy++){ if((a[x1-1][y1-1]+a[x1+xx][y1+yy]-a[x1-1][y1+yy]-a[x1+xx][y1-1])==((xx+1)*(yy+1))) ans++; } } } } cout<<ans; }
#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...