Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
///Usor (bine mediu..) #include
#include
using namespace std; ifstream cin("dreptunghi1.in"); ofstream cout("dreptunghi1.out"); const int mxN = 1e4; pair
p[mxN+2]; int st[mxN+1],l[mxN+1],r[mxN+1],v[mxN+1]; int skyline(int v[], int n) { int top = 0, sol = 0; for(int i = 1;i<=n;i++) l[i] = r[i] = 0; for(int i = 1;i<=n;i++) { while(top > 0 && v[st[top]] > v[i]) r[st[top]] = i , top--; st[++top] = i; } while(top>0) r[st[top]] = n+1, top--; for(int i = n;i>0;i--) { while(top > 0 && v[st[top]] > v[i]) l[st[top]] = i, top--; st[++top] = i; } for(int i = 1;i<=n;i++) { int res = v[i] * (r[i] - l[i] - 1); sol = max(sol,res); } return sol; } int main() { int n , m , z; cin>>n>>m>>z; for(int i = 1;i<=z;i++) cin>>p[i].first>>p[i].second; sort(p+1,p+1+z); p[z+1].first = p[z+1].second = 1e9; int k = 1, sol = 0; for(int i = 1;i<=n;i++) { for(int j = 1;j<=m;j++) { if(i >= p[k].first) { while(i>p[k].first) k++; while(j > p[k].second && p[k].first <= i) k++; } if(i==p[k].first&&j==p[k].second) v[j] = 0; else v[j]++; } sol = max(sol,skyline(v,m)); } cout<
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)