QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#568911 | #9310. Permutation Counting 4 | yylx | WA | 0ms | 3576kb | C++14 | 1.1kb | 2024-09-16 19:12:28 | 2024-09-16 19:12:28 |
Judging History
answer
#include <iostream>
#include <vector>
using namespace std;
const int MOD = 2;
int countPermutations(int n, const vector<int>& left, const vector<int>& right) {
// Initialize dp table with 1s, as any number can be placed in the first position
vector<int> dp(n + 1, 1);
for (int i = 1; i <= n; ++i) {
// Iterate through each pair of constraints
for (int j = 0; j < left.size(); ++j) {
// Calculate the maximum number of elements that can be placed in position i
int max_val = min(right[j], i);
int min_val = max(left[j], i);
if (min_val <= max_val) {
// Update dp[i] based on the number of ways to place elements in previous positions
dp[i] = (dp[i] + dp[min_val - 1]) % MOD;
}
}
}
return dp[n];
}
int main() {
int n;
cin >> n;
vector<int> left(n), right(n);
for (int i = 0; i < n; ++i) {
cin >> left[i] >> right[i];
}
int result = countPermutations(n, left, right);
cout << result << endl;
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3576kb
input:
4 5 1 2 1 5 1 2 1 2 2 2 5 1 1 2 4 2 3 5 5 3 4 5 3 5 1 2 3 4 3 5 3 3 5 1 5 1 4 4 5 5 5 1 2
output:
1
result:
wrong answer 1st words differ - expected: '0', found: '1'