// compile: g++ data.cpp /usr/include/c++/12/debug/cpglib/print.o -o data -O1 -std=gnu++20 -Wall -Wextra -Wshadow -D_GLIBCXX_ASSERTIONS -fmax-errors=2 -DLOCAL
// run: time ./data < data.in
#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#ifdef LOCAL
#include <debug/cpglib/print.h>
#define debug(x...) _debug_print(0, #x, x);
#define Debug(x...) _debug_print(1, #x, x);
#define DEBUG(x...) _debug_print(2, #x, x);
std::ifstream terminal("/dev/tty");
#define PP cerr<<"![1;30mpause...\e[0m",terminal.ignore();
#else
#define debug(x...)
#define Debug(x...)
#define DEBUG(x...)
#define PP
#endif
template<typename...Args> void print_(Args...args){((cout<<args<<" "),...)<<endl;}
#define rep(i,a,b) for(int i=(a);i<(int)(b);++i)
#define sz(v) ((int)(v).size())
#define print(...) print_(__VA_ARGS__);
#define FIND(a, x) ((find(a.begin(),a.end(),(x))!=a.end())?1:0)
#define cmin(x,...) x=min({(x),__VA_ARGS__})
#define cmax(x,...) x=max({(x),__VA_ARGS__})
#define INTMAX (int)(9223372036854775807)
#define INF (int)(1152921504606846976)
#define NaN (int)(0x8b88e1d0595d51d1)
#define double long double
#define int long long
#define uint unsigned long long
#define endl "\n"
#define MAXN 200010
int32_t main() {
ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
int n, m; cin >> n >> m;
vector<vector<bool>> a(n, vector<bool>(m, 0));
vector<queue<int>> col(m);
rep(i, 0, n) {
string s; cin >> s;
rep(j, 0, m) {
a[i][j] = s[j] == '*';
if (a[i][j]) col[j].push(i);
}
}
rep(j, 0, m) col[j].push(n);
int ans = 0;
rep(i, 0, n) {
// first: start col, second: height
stack<pair<int, int>> st;
rep(j, 0, m) if (col[j].size() && col[j].front() < i) col[j].pop();
rep(j, 0, m) {
int sc = j; // start col
while (st.size() && st.top().second > col[j].front() - i) {
auto [c, h] = st.top(); st.pop();
cmax(ans, (j - c) * h);
sc = c;
}
st.push({sc, col[j].front() - i});
}
while (st.size()) {
auto [c, h] = st.top(); st.pop();
cmax(ans, (m - c) * h);
}
}
cout << ans << endl;
return 0;
}
Downloaded that pito777app and surprisingly, it’s actually pretty decent! Smooth interface and a good variety of games. Worth a try, for real. Check out pito777app.
78wi, huh? Gave this a look-see. Not gonna lie, it’s got something going for it. It’s fresh and easy to use for a change. Maybe try it out, you might find your new favourite way to play too! 78wi
Yo, just hopped onto jiliwinbet7. Seems pretty similar to the other Jili sites. Anyone know if the odds are any different here? Help a brother out!
Downloaded the 52betapp the other day. Mobile betting is super convenient. The interface is clean and easy to use. Definitely recommend: 52betapp
Okay, alright, OK36524… I’m intrigued. Is it legit? Anyone cashed out recently? Don’t want to end up throwing money into a black hole, you know? Share your wins (or losses… lol) ok36524
OK365vv, what’s the deal? Are they just trying to confuse us with all these similar names? Anyone know if it’s connected to the other OK### platforms? Help a bro out! ok365vv
Interesting read! Understanding player retention via RTP & RNG is key-it’s fascinating how platforms like 26jl download prioritize transparency. Good insights on game strategy here! 👍
Dice games are all about understanding probabilities – even seemingly simple rolls! It’s fascinating how platforms like 747 live com offer so many game variations, making those calculations even more interesting. Registration seems straightforward too, which is a plus! 🤔
555phcasino, okay, it’s alright. Not amazing, but not terrible either. Got a decent selection and the interface ain’t clunky. Give it a shot: 555phcasino
LeoVegas online casino rocks my world It’s my all-time favorite. Always offers a solid experience. You have to check it out leovegas online casino.
OG777app? Not bad, not bad at all! The app is smooth, and I found a couple of games I really dig. Definitely a good option for gaming on the go. Download it here: og777app
The rigorous optimization demonstrated here mirrors the need for flawless, efficient systems across all high-stakes industries. Whether it’s maximizing computational resources or curating an elite user experience, efficiency is key. Achieving peak performance, much like finding the perfect strategy at a premium level, requires robust architecture, something you can find when exploring j77 casino vip.
Logging in has never been easier than with this site. The whole interface works perfectly on my phone and I never had any issues accessing my account. Security feels top notch and my personal details are always safe. If you want a hassle free gaming session take a look at 5gbtlogin
I have tried quite a few platforms but this one stands out for its incredible bonus structure. The wagering requirements are fair and the free spins trigger more often than I expected. Staff members are always polite and ready to guide you through the games. It is refreshing to find a casino that puts player satisfaction first. betvipcasinobono
This site really nails the slot gaming experience with stunning graphics and honest return rates. I never waited long for my winnings and the platform handles heavy traffic without any slowdowns. Feels like a community that genuinely cares about its members. thapolloslot
Honestly, the depth of the slot variety is noticeable. For parents juggling life, ease of access matters. Check out m kuwin app download for quick mobile play!
[351548]supplies professional anti-violence equipments and solutions for the whole world with strong and perfect production capacity. anti-violence.org
The bonuses are actually legit here. I managed to hit a decent win last night and the withdrawal was super quick. phjiliboss is my new favorite spot.
The layout is very user friendly and I didnt encounter any lag during my sessions. Big thumbs up for l789login.
Solid article! Thinking about bankroll management & game selection is key for consistent wins. Seeing platforms like phfun club offer diverse options is interesting – security & fast payments matter a lot, too! Good read.
Installation was a breeze and the gameplay is addictive. If you’re into mobile gaming, bdck999gameapk is the way to go.
The APK installation was a breeze and the app runs perfectly on my phone. If you are looking for a stable experience then y1gamesapk is the way to go.
The graphics are amazing and the gameplay is very smooth. I really enjoy the variety of themes they have available here. xgjili777
The graphics are stunning and the gameplay is super immersive. It feels like a real casino from my living room. Love 7spinscasino.
This deep dive nails the statistical angle! Understanding volatility is key, not just chasing big wins. For more disciplined play insights, check out big win login login. Great read!
Wagipluscasino? Okay, now you’re talking my language! Always up for a little casino action. I’m heading over to wagipluscasino now!
The GCash integration is super smooth and fast. No more waiting for hours to get my funds. Love the experience on phplaytimegcash.
The variety of games here is insane. I spent hours exploring different slots and they are all high quality. pkp998 is where the real action is.
Just found this perfect for my quick break! Super Ace 2026 offers great Filipino slots without lag. Grab the super ace 2026 slot download now and enjoy offline play before work starts again!
The app version is just so much better than the browser. Everything is snappy and the graphics are crisp. I’m spending way too much time on 555tayaapp lately!
Regarding the balance mentioned, remember security protocols are key. Don’t overlook profile security steps! For deeper insights, check out nino gaming ph app download. Prudence trumps impulse always.
Solid platform with no lag during peak hours. I love how straightforward the registration process is. I’m sticking with pk988wan from now on.
It’s great seeing resources like this! Remember, while platforms like 1xbetmobi poker offer variety, self-care is key. Always approach gaming with mindful boundaries to keep the fun positive. 1xbetmobi poker is just entertainment, after all.
The mobile focus is key; usability trumps feature count always. For a streamlined experience like this, checking 1xbet mobi login slots first really helps gauge the core functionality before diving deep into all the extras described.