Submission #624231

# Submission time Handle Problem Language Result Execution time Memory
624231 2022-08-07T13:47:08 Z MilosMilutinovic Relativnost (COCI15_relativnost) C++14
98 / 140
4000 ms 22348 KB
/**
 *    author:  wxhtzdy
 *    created: 07.08.2022 15:06:04
**/
#include <bits/stdc++.h>

using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);  
  int n, c;
  cin >> n >> c;
  vector<pair<int, int>> a(n);
  for (int i = 0; i < n; i++) {
    cin >> a[i].first;
    a[i].first %= 10007;
  }
  for (int i = 0; i < n; i++) {
    cin >> a[i].second;
    a[i].second %= 10007;
  }
  vector<vector<int>> dp(2 * n + 1, vector<int>(c + 1));
  function<void(int)> Update = [&](int i) {
    i += n;             
    for (int j = 0; j <= c; j++) {
      dp[i][j] = 0;
    }
    dp[i][0] = a[i - n].second;
    dp[i][1] = a[i - n].first;
    for (i /= 2; i > 0; i /= 2) {
      for (int p = 0; p <= c; p++) {
        dp[i][p] = 0;
      }
      for (int p = 0; p <= c; p++) {
        for (int q = 0; q <= c; q++) {
          dp[i][min(p + q, c)] += (dp[i * 2][p] * dp[i * 2 + 1][q]) % 10007;
          dp[i][min(p + q, c)] %= 10007;
        }
      }
    }
  };                     
  for (int i = 0; i < n; i++) {
    Update(i); 
  }
  int q;
  cin >> q;
  while (q--) {
    int idx, x, y;
    cin >> idx >> x >> y;
    --idx;
    x %= 10007;
    y %= 10007; 
    a[idx].first = x;
    a[idx].second = y;
    Update(idx);
    cout << dp[1][c] << '\n';
  }                                                        
  return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 19 ms 340 KB Output is correct
2 Correct 28 ms 468 KB Output is correct
3 Correct 65 ms 468 KB Output is correct
4 Correct 1100 ms 8620 KB Output is correct
5 Execution timed out 4054 ms 16024 KB Time limit exceeded
6 Execution timed out 4093 ms 22348 KB Time limit exceeded
7 Correct 2927 ms 11908 KB Output is correct
8 Correct 1728 ms 13888 KB Output is correct
9 Correct 2448 ms 11996 KB Output is correct
10 Execution timed out 4066 ms 17364 KB Time limit exceeded