제출 #1163656

#제출 시각아이디문제언어결과실행 시간메모리
1163656ChaterBitaro the Brave (JOI19_ho_t1)C++20
100 / 100
478 ms207400 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define ll long long #define int long long #define sc second #define fr first #define all(x) x.begin(),x.end() #define roll(x) x.rbegin(),x.rend() #define pb push_back signed main(){ /*ll n; cin >> n; vector<int> b(n+1); vector<int> a(n); for(ll i = 0;i<=n;i++){ cin >> b[i]; } for(ll i =0;i<n;i++){ cin >> a[i]; } sort(all(b)); sort(all(a)); vector<int> ans(n+1); vector<int> ans2(n+1); for(ll i = 1;i<=n;i++){ ans[i] = b[i] - a[i]; ans[i] = max(ans[i-1],ans[i]); } for(ll i = 0;i<n;i++){ ans2[i-1] = b[i] - a[i-1]; } for(ll i = n-1;i>=0;i--){ ans2[i] = max(ans2[i],ans2[i+1]); } for(ll i = 1;i<=n;i++){ cout << ans[i-1] << " " << ans2[i] << endl; }*/ ll n,m; cin >> n >> m; vector<pair<int,int>> a; vector<vector<int>> b(n+1,vector<int>(m+1)); vector<vector<int>> c(n+1,vector<int>(m+1)); for(ll i = 1;i<=n;i++){ for(ll j = 1;j<=m;j++){ char k; cin >> k; c[i][j] = c[i-1][j]; b[i][j] = b[i][j-1]; if(k == 'J')a.pb({i,j}); if(k == 'O')b[i][j] += 1; if(k == 'I')c[i][j] += 1; } } ll ans = 0; for(ll i = 0;i<a.size();i++){ ll x = a[i].fr; ll y = a[i].sc; ans += ((c[n][y] - c[x][y]) * (b[x][m] - b[x][y])); } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...