답안 #774213

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
774213 2023-07-05T13:01:26 Z gagik_2007 바이러스 (JOI19_virus) C++17
14 / 100
369 ms 9024 KB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef long double ld;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;

#define ff first
#define ss second

ll ttt;
const ll INF=1e18;
const ll MOD=1e9+7;
const ll N=807;
ll n,m,k;
bool w[N][N];
bool e[N][N];
ll a[N][N];
string s;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    // freopen("output.txt","w",stdout);
    cin>>k>>n>>m;
    cin>>s;
    s+=s;
    int cw=(s[0]=='W'),ce=(s[0]=='E');
    int wc=cw,ec=ce;
    for(int i=1;i<s.size();i++){
        if(s[i]=='W'){
            if(s[i]==s[i-1]){
                cw++;
            }
            else{
                ce=0;
                cw=1;
            }
            wc=max(wc,cw);
        }
        else{
            if(s[i]==s[i-1]){
                ce++;
            }
            else{
                cw=0;
                ce=1;
            }
            ec=max(ec,ce);
        }
    }
    if(ec==0){
        wc=MOD;
    }
    if(wc==0){
        ec=MOD;
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            cin>>a[i][j];
        }
    }
    int cntt=MOD;
    int cc=0;
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            if(a[i][j]!=0){
                int cj=j+1;
                int cnt=1;
                while(cj<n&&a[i][cj]<=wc&&a[i][cj]!=0){
                    cnt++;
                    cj++;
                }
                cj=j-1;
                while(cj>=0&&a[i][cj]<=ec&&a[i][cj]!=0){
                    cnt++;
                    cj--;
                }
                // cout<<i<<", "<<j<<": "<<cnt<<endl;
                if(cnt<cntt){
                    cntt=cnt;
                    cc=1;
                }
                else if(cnt==cntt){
                    cc++;
                }
            }
        }
    }
    cout<<cntt<<"\n"<<cc<<endl;
}

Compilation message

virus.cpp: In function 'int main()':
virus.cpp:32:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |     for(int i=1;i<s.size();i++){
      |                 ~^~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 596 KB Output is correct
2 Correct 34 ms 6564 KB Output is correct
3 Correct 165 ms 6060 KB Output is correct
4 Correct 203 ms 6616 KB Output is correct
5 Correct 40 ms 9024 KB Output is correct
6 Correct 2 ms 3412 KB Output is correct
7 Correct 369 ms 7004 KB Output is correct
8 Correct 21 ms 5232 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 596 KB Output is correct
2 Correct 34 ms 6564 KB Output is correct
3 Correct 165 ms 6060 KB Output is correct
4 Correct 203 ms 6616 KB Output is correct
5 Correct 40 ms 9024 KB Output is correct
6 Correct 2 ms 3412 KB Output is correct
7 Correct 369 ms 7004 KB Output is correct
8 Correct 21 ms 5232 KB Output is correct
9 Incorrect 1 ms 340 KB Output isn't correct
10 Halted 0 ms 0 KB -