| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1338521 | hyyh | Linear Garden (IOI08_linear_garden) | C++20 | 45 ms | 2300 KiB |
#include <iostream>
#include <math.h>
#include <vector>
#include <string>
#include <algorithm>
#include <queue>
#include <stack>
#include <map>
#include <cstring>
#include <iomanip>
#include <set>
#include <bitset>
using namespace std;
using ll = long long;
using pii = pair<ll,ll>;
#define endl '\n'
#define f first
#define s second
#define all(x) begin(x),end(x)
int dp[2][3][3];//subdiff of L,P
int main(){
int n;cin >> n;
int m;cin >> m;
string st;cin >> st;
int N = st.size();
int valL = 0;
int valP = 0;
for(int i{};i < N;i++){
if(st[i] == 'P'){
if(valL < 2) dp[i%2][valL+1][max(0,valP-1)] = (dp[i%2][valL+1][max(0,valP-1)]+1)%m;
valP++;
valL = max(0,valL-1);
}
else{
valL++;
valP = max(0,valP-1);
}
for(int j{};j < 3;j++){
for(int k{};k < 3;k++){
if(k < 2) dp[(i+1)%2][max(0,j-1)][k+1] = (dp[(i+1)%2][max(0,j-1)][k+1]+dp[i%2][j][k])%m;
if(j < 2) dp[(i+1)%2][j+1][max(0,k-1)] = (dp[i%2][j][k]+dp[(i+1)%2][j+1][max(0,k-1)])%m;
if(i != N-1) dp[i%2][j][k] = 0;
}
}
}
N--;
int sum = 1;
for(int i{};i < 3;i++){
for(int j{};j < 3;j++){
sum = (sum+dp[N%2][i][j])%m;
}
}
cout << sum;
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
