답안 #733791

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
733791 2023-05-01T10:16:21 Z vjudge1 Collecting Mushrooms (NOI18_collectmushrooms) C++17
60 / 100
2000 ms 4312 KB
#include <bits/stdc++.h>
using namespace std;

#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace __gnu_pbds;
#define oset tree<int, null_type,less_equal<int>, rb_tree_tag,tree_order_statistics_node_update>

template<typename... T>
void see(T&... args) {((cin >> args), ...);}
template<typename... T>
void put(T&&... args) {((cout << args << ' '), ...);}
template<typename... T>
void putl(T&&... args) {((cout << args << ' '), ...); cout << '\n';}

#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define ll long long
#define F first
#define S second
#define ii pair<int, int>

#define vt vector
#define pb push_back
#define all(a) (a).begin(), (a).end()
#define sz size()

#define endl '\n'

#define rep(i,a,b) for(int i=a; i<=b; i++)
#define rev(i,b,a) for(int i=b; i>=a; i--)

#define reada(a,x,y) for(int i=x; i<=y; i++){cin >> a[i];}

const ll INF = INT_MAX;
const ll M = 1e9+7;
const int Mxn = 1e6, Nxn = 2*1e5, Mxm = 1e5, Nxm = 1005, Dxn = 1e9+1;

vt< ii > m, s;
int ans[Mxn];

void solve() {
    int r, c, k, d;
    see(r, c, d, k);

    rep(i,1,r) {
        rep(j,1,c) {
            char x; see(x);
            if(x == 'M') m.pb({i, j});
            if(x == 'S') s.pb({i, j});
        }
    }
    for(int i = 0; i < s.size(); i++) {
        int x1 = s[i].F - d, x2 = s[i].F + d, y1 = s[i].S - d, y2 = s[i].S + d;
        
        for(int j = 0; j < m.size(); j++) {
            int x = m[j].F, y = m[j].S;

            if(x1 <= x && x2 >= x && y1 <= y && y2 >= y) {
                ans[j]++;
            }
        }
    }
    int s = 0;
    for(int j = 0; j < m.size(); j++) {
        if(ans[j] >= k) s++;
    }
    cout << s;
    return;
}

signed main() { IOS
    int t=1;
    //cin >> t;
    while(t--) {
        solve();
        cout << endl;
    }
    return 0;
}

Compilation message

mushrooms.cpp: In function 'void solve()':
mushrooms.cpp:53:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |     for(int i = 0; i < s.size(); i++) {
      |                    ~~^~~~~~~~~~
mushrooms.cpp:56:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   56 |         for(int j = 0; j < m.size(); j++) {
      |                        ~~^~~~~~~~~~
mushrooms.cpp:65:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   65 |     for(int j = 0; j < m.size(); j++) {
      |                    ~~^~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 13 ms 432 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 13 ms 432 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 9 ms 340 KB Output is correct
9 Correct 2 ms 372 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 3 ms 340 KB Output is correct
3 Correct 4 ms 468 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 212 KB Output is correct
2 Correct 3 ms 340 KB Output is correct
3 Correct 5 ms 340 KB Output is correct
4 Correct 4 ms 340 KB Output is correct
5 Correct 3 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2072 ms 4312 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 13 ms 432 KB Output is correct
3 Correct 1 ms 336 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 9 ms 340 KB Output is correct
9 Correct 2 ms 372 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 1 ms 340 KB Output is correct
12 Correct 3 ms 340 KB Output is correct
13 Correct 4 ms 468 KB Output is correct
14 Correct 1 ms 340 KB Output is correct
15 Correct 1 ms 340 KB Output is correct
16 Correct 3 ms 212 KB Output is correct
17 Correct 3 ms 340 KB Output is correct
18 Correct 5 ms 340 KB Output is correct
19 Correct 4 ms 340 KB Output is correct
20 Correct 3 ms 212 KB Output is correct
21 Execution timed out 2072 ms 4312 KB Time limit exceeded
22 Halted 0 ms 0 KB -