Submission #546377

#TimeUsernameProblemLanguageResultExecution timeMemory
546377tmn2005Bitaro the Brave (JOI19_ho_t1)C++17
20 / 100
575 ms27100 KiB
#include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/tree_policy.hpp> #include<bits/stdc++.h> using namespace __gnu_pbds; using namespace std; typedef long long ll; #define fr first #define sc second #define mk make_pair #define pb push_back #define pob pop_back #define pf push_front #define pof pop_front #define pii pair<int,int> #define piii pair<int,pii> #define all(s) s.begin(), s.end() #define allr(s) s.rbegin(), s.rend() #define NeedForSpeed ios::sync_with_stdio(0), cin.tie(0) #define ordered_set tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> const int N = 3009; int n, m, k, a, b, c, d, arr[3009][3009]; multiset<int>g[N], s[N]; void solve(){ cin>>n>>m; for(int i=1; i<=n; i++){ for(int j=1; j<=m; j++){ char ch; cin>>ch; if(ch == 'J')arr[i][j] = 1; if(ch == 'O')arr[i][j] = 2; if(ch == 'I')arr[i][j] = 3; } } for(int i=1; i<=n; i++){ for(int j=1; j<=m; j++){ g[i].insert(arr[i][j]); } } for(int j=1; j<=m; j++){ for(int i=1; i<=n; i++){ s[j].insert(arr[i][j]); } } int res = 0; for(int i=1; i<=n; i++){ for(int j=1; j<=m; j++){ if(arr[i][j] == 1){ res += (g[i].count(2) * s[j].count(3)); } else if(g[i].count(2) > 0 && arr[i][j] == 2){ g[i].erase(g[i].find(2)); } else if(s[j].count(3) > 0 && arr[i][j] == 3){ s[j].erase(s[j].find(3)); } } } cout<<res<<"\n"; } main(){ NeedForSpeed; int T = 1; // cin >> T; while(T--){ solve(); } return 0; }

Compilation message (stderr)

joi2019_ho_t1.cpp:67:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   67 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...