Submission #1311443

#TimeUsernameProblemLanguageResultExecution timeMemory
1311443samarthkulkarniCollecting Mushrooms (NOI18_collectmushrooms)C++20
60 / 100
2094 ms8660 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; #define vi vector<long long> #define all(x) x.begin(), x.end() #define endl "\n" #define pr pair<ll, ll> #define ff first #define ss second void solution(); int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); solution(); return 0; } vector<string> a; ll r, c, d, k; void ad(pr s, vector<vi> &m) { int top = max(s.ff-d, 0ll); int bot = min(s.ff+d, r-1); int ri = min(s.ss + d, c-1); int lf = max(s.ss-d, 0ll); for (int i = top; i <= bot; i++) { for (int j = lf; j <= ri; j++) m[i][j]++; } } void solution() { cin >> r >> c >> d >> k; a.resize(r); for (string &z : a) cin >> z; vector<vi> m(r, vi(c)); for (int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { if (a[i][j] == 'S') { ad({i, j}, m); } } } ll ans = 0; for (int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { if (a[i][j] == 'M' && m[i][j] >= k){ // cout << i << " " << j << endl; ans++; } } } cout << ans << endl; }
#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...