# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
321218 | fadi57 | Collecting Mushrooms (NOI18_collectmushrooms) | C++14 | 26 ms | 1928 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mx=5*1e5+6;
const int mod= 998244353;
const ll inf=2*1e16+9;
int r,c,d,k;
char a[mx];
ll pref[mx];
int get(int i){
int sum=0;
int right=min(c-1,i+d);
int left=max(0,i-d);
sum=pref[right];
if(left==0){return sum;}return (sum-pref[left-1]);
}
int main() {
cin>>r>>c>>d>>k;
if(d=max(r,c)){
int mushrom=0;int s=0;
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
string x;\
cin>>x;mushrom+=(x=="M");
s+=(x=="S");
}
}
if(s>=k){cout<<mushrom;}else{cout<<0;}
return 0;
}
if(r==1){
ll ans=0;
for(int i=0;i<c;i++){
cin>>a[i];
if(a[i]=='S'){
pref[i]++;
}
if(i!=0){pref[i]+=pref[i-1];}
} for(int i=0;i<c;i++){
int sum=0;
if(a[i]=='M'){
sum=get(i);
}
if(sum>=k){ans++;}//
//cout<<pref[i];
}
cout<<ans;
}
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |