답안 #555313

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
555313 2022-04-30T12:12:40 Z 600Mihnea Sightseeing in Kyoto (JOI22_kyoto) C++17
10 / 100
413 ms 1048576 KB
#include <bits/stdc++.h>

bool home = 1;

using namespace std;

typedef long long ll;
const int N=(int)1e5+7;
const ll INF=(ll)1e18+7;
int n;
int m;
ll a[N];
ll b[N];
bool in_shib_a[N];
bool in_shib_b[N];

signed main() {
#ifdef ONLINE_JUDGE
  home = 0;
#endif
  home = 0;

  if (home) {
    freopen("I_am_iron_man", "r", stdin);
  }
  else {
    ios::sync_with_stdio(0); cin.tie(0);
  }

  vector<int> shib_a, shib_b;
  cin>>n>>m;
  for (int i=1;i<=n;i++) {
    cin>>a[i];
    while (1) {
      if((int)shib_a.size()<2) break;
      int p1=shib_a[(int)shib_a.size()-2];
      int p2=shib_a[(int)shib_a.size()-1];
      if((a[i]-a[p2])*(p2-p1)<(a[p2]-a[p1])*(i-p2)) {
        shib_a.pop_back();
      }else{
        break;
      }
    }
    shib_a.push_back(i);
  }
  for (int i=1;i<=m;i++) {
    cin>>b[i];
    while (1) {
      if((int)shib_b.size()<2) break;
      int p1=shib_b[(int)shib_b.size()-2];
      int p2=shib_b[(int)shib_b.size()-1];
      if((b[i]-b[p2])*(p2-p1)<(b[p2]-b[p1])*(i-p2)) {
        shib_b.pop_back();
      }else{
        break;
      }
    }
    shib_b.push_back(i);
  }
  for (auto &i:shib_a) in_shib_a[i]=1;
  for (auto &i:shib_b) in_shib_b[i]=1;
  vector<vector<ll>> dp(n+1,vector<ll> (m+1, INF));
  dp[1][1]=0;
  for (int i=1;i<=n;i++){
    for(int j=1;j<=m;j++){
      if(i+1<=n&&in_shib_b[j]) dp[i+1][j]=min(dp[i+1][j],dp[i][j]+b[j]);
      if(j+1<=m&&in_shib_a[i]) dp[i][j+1]=min(dp[i][j+1],dp[i][j]+a[i]);
    }
  }




  cout<<dp[n][m]<<"\n";



}

Compilation message

kyoto.cpp: In function 'int main()':
kyoto.cpp:24:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   24 |     freopen("I_am_iron_man", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Correct 1 ms 724 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 5 ms 8148 KB Output is correct
10 Correct 5 ms 8148 KB Output is correct
11 Correct 6 ms 8148 KB Output is correct
12 Correct 6 ms 8256 KB Output is correct
13 Correct 10 ms 8148 KB Output is correct
14 Correct 6 ms 8148 KB Output is correct
15 Correct 6 ms 8148 KB Output is correct
16 Correct 7 ms 8148 KB Output is correct
17 Correct 10 ms 8212 KB Output is correct
18 Correct 1 ms 340 KB Output is correct
19 Correct 0 ms 340 KB Output is correct
20 Correct 0 ms 328 KB Output is correct
21 Correct 0 ms 340 KB Output is correct
22 Correct 1 ms 336 KB Output is correct
23 Correct 0 ms 340 KB Output is correct
24 Correct 1 ms 340 KB Output is correct
25 Correct 1 ms 340 KB Output is correct
26 Correct 1 ms 340 KB Output is correct
27 Correct 0 ms 340 KB Output is correct
28 Correct 1 ms 340 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 3 ms 3412 KB Output is correct
4 Runtime error 413 ms 1048576 KB Execution killed with signal 9
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 0 ms 340 KB Output is correct
4 Correct 1 ms 724 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 5 ms 8148 KB Output is correct
10 Correct 5 ms 8148 KB Output is correct
11 Correct 6 ms 8148 KB Output is correct
12 Correct 6 ms 8256 KB Output is correct
13 Correct 10 ms 8148 KB Output is correct
14 Correct 6 ms 8148 KB Output is correct
15 Correct 6 ms 8148 KB Output is correct
16 Correct 7 ms 8148 KB Output is correct
17 Correct 10 ms 8212 KB Output is correct
18 Correct 1 ms 340 KB Output is correct
19 Correct 0 ms 340 KB Output is correct
20 Correct 0 ms 328 KB Output is correct
21 Correct 0 ms 340 KB Output is correct
22 Correct 1 ms 336 KB Output is correct
23 Correct 0 ms 340 KB Output is correct
24 Correct 1 ms 340 KB Output is correct
25 Correct 1 ms 340 KB Output is correct
26 Correct 1 ms 340 KB Output is correct
27 Correct 0 ms 340 KB Output is correct
28 Correct 1 ms 340 KB Output is correct
29 Correct 1 ms 340 KB Output is correct
30 Correct 1 ms 340 KB Output is correct
31 Correct 3 ms 3412 KB Output is correct
32 Runtime error 413 ms 1048576 KB Execution killed with signal 9
33 Halted 0 ms 0 KB -