Submission #921522

# Submission time Handle Problem Language Result Execution time Memory
921522 2024-02-04T05:26:30 Z vjudge1 Collecting Mushrooms (NOI18_collectmushrooms) C++17
79 / 100
133 ms 75472 KB
#include <bits/stdc++.h>
#define F first 
#define S second
#define ent '\n'
#define int long long
#define pb push_back

typedef long double ld;
typedef long long ll;
using namespace std;

const int maxn = 1e6+12;
const int T = 0;
const int mod = 1e9+7;

int n,m,k,x,y,l,r;
int b[maxn],p[maxn],pref[maxn],fact[maxn];
char a[2222][2222];

void solve(){
	cin>>n>>m>>k>>x;
	int ans=0;
	vector<pair<int,int>>v;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>a[i][j];
			if(a[i][j]=='S'){
				v.pb({i,j});
			}	
		}
	}
	map<int,int>mp;
	if(n==1){
		int cnt=0,l=1,r=m;
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				if(j-l > k){
					if(a[i][l]=='S')cnt--;
					l++;
				}
				if(a[i][j]=='M'){
					mp[j]=cnt;
				}
				if(a[i][j]=='S')cnt++;
			}
			cnt=0;
			for(int j=m;j>=1;j--){
				if(r-j > k){
					if(a[i][r]=='S')cnt--;
					r--;
				}
				if(a[i][j]=='M'){
					if(mp[j]+cnt >= x)ans++;
				}
				if(a[i][j]=='S')cnt++;
			}
		}
		cout<<ans;
		return;
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(a[i][j]=='M'){
				int cal=0;
				for(int u=0;u<v.size();u++){
					if(max(abs(i-v[u].F) , abs(j-v[u].S)) <= k)cal++;
				}
				if(cal>=x)ans++;
			}
		}
	}
	cout<<ans;
}	
//BEKSULTAN TOP
signed main(){	
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t=1;
	if(T)cin>>t;
	while(t--)solve();
} 

Compilation message

mushrooms.cpp: In function 'void solve()':
mushrooms.cpp:65:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   65 |     for(int u=0;u<v.size();u++){
      |                 ~^~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 18 ms 2796 KB Output is correct
3 Correct 1 ms 2652 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 416 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 18 ms 2796 KB Output is correct
3 Correct 1 ms 2652 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 416 KB Output is correct
6 Correct 1 ms 2652 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 12 ms 2904 KB Output is correct
9 Correct 3 ms 604 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 604 KB Output is correct
2 Correct 6 ms 604 KB Output is correct
3 Correct 7 ms 2648 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 1 ms 2652 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 2648 KB Output is correct
2 Correct 3 ms 2648 KB Output is correct
3 Correct 3 ms 2648 KB Output is correct
4 Correct 3 ms 2652 KB Output is correct
5 Correct 3 ms 2652 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 47 ms 14404 KB Output is correct
2 Correct 133 ms 32084 KB Output is correct
3 Correct 110 ms 25328 KB Output is correct
4 Correct 62 ms 19904 KB Output is correct
5 Correct 118 ms 30148 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 18 ms 2796 KB Output is correct
3 Correct 1 ms 2652 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 416 KB Output is correct
6 Correct 1 ms 2652 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 12 ms 2904 KB Output is correct
9 Correct 3 ms 604 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 1 ms 604 KB Output is correct
12 Correct 6 ms 604 KB Output is correct
13 Correct 7 ms 2648 KB Output is correct
14 Correct 1 ms 348 KB Output is correct
15 Correct 1 ms 2652 KB Output is correct
16 Correct 3 ms 2648 KB Output is correct
17 Correct 3 ms 2648 KB Output is correct
18 Correct 3 ms 2648 KB Output is correct
19 Correct 3 ms 2652 KB Output is correct
20 Correct 3 ms 2652 KB Output is correct
21 Correct 47 ms 14404 KB Output is correct
22 Correct 133 ms 32084 KB Output is correct
23 Correct 110 ms 25328 KB Output is correct
24 Correct 62 ms 19904 KB Output is correct
25 Correct 118 ms 30148 KB Output is correct
26 Runtime error 40 ms 75472 KB Execution killed with signal 11
27 Halted 0 ms 0 KB -