QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#744920#5681. Caravan Trip PlansMattTheNub#AC ✓1ms3852kbC++232.2kb2024-11-14 00:24:222024-11-14 00:24:26

Judging History

你现在查看的是最新测评结果

  • [2024-11-14 00:24:26]
  • 评测
  • 测评结果:AC
  • 用时:1ms
  • 内存:3852kb
  • [2024-11-14 00:24:22]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;

template <class T> using v = vector<T>;
using ll = long long;
using dd = long double;
using int2 = pair<int, int>;
using ll2 = pair<ll, ll>;
using dd2 = pair<dd, dd>;

#define f first
#define s second
#define all(x) begin(x), end(x)
istream &__cin = cin;
#ifdef DEV_MODE
#include "debug.h"
__cinwrapper __cin_wrapper;
#define cin __cin_wrapper
#else
#define dbg(...)
#define dbg2d(...)
#endif

template <class T1, class T2>
istream &operator>>(istream &in, pair<T1, T2> &p) {
  in >> p.first >> p.second;
  return in;
}
template <class T> istream &operator>>(istream &in, v<T> &v) {
  for (auto &x : v)
    in >> x;
  return in;
}
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());

/*
 _______________________________________
( If you don't fail at least 90% of the )
( time, you're not aiming high enough.  )
(                                       )
( - Alan Kay                            )
 ---------------------------------------
        o   ^__^
         o  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
*/

const bool INTERACTIVE = false;
const bool MULTITEST = false;
/******************************************************************************/

#pragma region templates

#pragma endregion templates

ll dp[61][61]{0};

void solve() {
  int n, m;
  cin >> n >> m;

  v<int> o(n);
  cin >> o;
  v<bool> safe(61);
  for (auto x : o)
    safe[x] = 1;

  fill(all(dp[0]), 1);
  for (int i = 1; i <= 60; i++) {
    for (int j = 1; j <= 60; j++) {
      if (safe[i])
        dp[i][j] += dp[i][j - 1];
      dp[i][j] += dp[i - 1][j - 1];
    }
  }

  while (m--) {
    int d, t;
    cin >> d >> t;
    d--;
    cout << dp[o[d]][t] << '\n';
  }
}

int main() {
#ifdef DEV_MODE
  debug_start(INTERACTIVE, "i.txt");
#else
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
#endif
  int t;
  if (MULTITEST)
    cin >> t;
  else
    t = 1;
  while (t--)
    solve();

#ifdef DEV_MODE
  debug_exit(INTERACTIVE);
#endif
}
#ifdef DEV_MODE
#include "debug.cpp"
#endif

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 1ms
memory: 3840kb

input:

5 1
2 3 5 7 11
3 7

output:

10

result:

ok single line: '10'

Test #2:

score: 0
Accepted
time: 1ms
memory: 3836kb

input:

8 3
2 3 5 7 11 13 17 19
3 7
5 15
8 24

output:

10
126
1287

result:

ok 3 lines

Test #3:

score: 0
Accepted
time: 0ms
memory: 3852kb

input:

15 5
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
7 23
10 35
4 14
5 23
15 56

output:

1716
8008
330
6188
1307504

result:

ok 5 lines

Test #4:

score: 0
Accepted
time: 1ms
memory: 3552kb

input:

20 5
3 5 8 10 13 15 18 20 23 25 28 30 33 35 38 40 43 45 48 50
5 23
7 25
13 39
16 50
20 59

output:

3003
3432
27132
5311735
10015005

result:

ok 5 lines

Test #5:

score: 0
Accepted
time: 1ms
memory: 3688kb

input:

20 5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
7 10
3 7
15 20
20 25
11 18

output:

120
35
15504
53130
31824

result:

ok 5 lines

Test #6:

score: 0
Accepted
time: 0ms
memory: 3640kb

input:

20 5
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
5 15
12 29
8 19
15 40
20 50

output:

252
6188
165
3268760
30045015

result:

ok 5 lines

Test #7:

score: 0
Accepted
time: 0ms
memory: 3644kb

input:

20 5
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
20 60
19 60
18 60
17 60
16 60

output:

137846528820
244662670200
353697121050
421171648758
416714805914

result:

ok 5 lines

Test #8:

score: 0
Accepted
time: 0ms
memory: 3780kb

input:

20 5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 40
20 60
19 60
18 60
17 60
16 60

output:

137846528820
2044802197953900
925029565741050
387221678682300
149608375854525

result:

ok 5 lines

Test #9:

score: 0
Accepted
time: 0ms
memory: 3636kb

input:

12 5
2 3 5 7 11 13 17 19 23 29 31 37
2 60
5 60
7 60
9 60
11 60

output:

1711
3162510
99884400
1101716330
2311801440

result:

ok 5 lines

Test #10:

score: 0
Accepted
time: 0ms
memory: 3644kb

input:

17 5
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59
12 60
15 60
17 60
13 60
16 60

output:

834451800
37442160
18
347373600
245157

result:

ok 5 lines

Test #11:

score: 0
Accepted
time: 0ms
memory: 3568kb

input:

20 5
11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49
3 60
5 60
7 60
13 60
16 60

output:

17296
1370754
38320568
5414950296
4059928950

result:

ok 5 lines

Test #12:

score: 0
Accepted
time: 0ms
memory: 3852kb

input:

20 5
11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49
3 20
5 30
7 40
13 50
16 60

output:

56
4368
346104
37442160
4059928950

result:

ok 5 lines