제출 #411786

#제출 시각아이디문제언어결과실행 시간메모리
411786kimbj0709Bitaro the Brave (JOI19_ho_t1)C++14
100 / 100
456 ms218240 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define f first
#define s second
#define maxn 3050
int pref1[maxn][maxn];
int pref2[maxn][maxn];
int32_t main() {
  ios::sync_with_stdio(0);
  cin.tie(0);cout.tie(0);
  int n,m;
  cin >> n >> m;
  memset(pref1,0,sizeof(pref1));
  memset(pref2,0,sizeof(pref2));
  char input;
  vector<pair<int,int> > pos;
  for(int i=0;i<n;i++){
    for(int j=0;j<m;j++){
      cin >> input;
      if(input=='I'){
        pref2[i][j] = 1;
      }
      else if(input=='J'){
        pos.push_back({i,j});
      }
      else if(input=='O'){
        pref1[i][j] = 1;
      }
    }
  }
  for(int i=0;i<maxn;i++){
    for(int j=maxn-2;j>=0;j--){
      pref1[i][j] += pref1[i][j+1];
      pref2[j][i] += pref2[j+1][i];
    }
  }
  int ans = 0;
  for(int i=0;i<pos.size();i++){
    ans += pref1[pos[i].f][pos[i].s]*pref2[pos[i].f][pos[i].s];
    //cout << pos[i].f << " " << pos[i].s << " " << pref1[pos[i].f][pos[i].s]*pref2[pos[i].f][pos[i].s] << "\n";
  }
  cout << ans;
}

컴파일 시 표준 에러 (stderr) 메시지

joi2019_ho_t1.cpp: In function 'int32_t main()':
joi2019_ho_t1.cpp:39:16: 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]
   39 |   for(int i=0;i<pos.size();i++){
      |               ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...