제출 #540586

#제출 시각아이디문제언어결과실행 시간메모리
540586guestLinear Garden (IOI08_linear_garden)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
#define ll long long
using namespace std;
 const int N=1e6+10;
 int n,m;
int f[N];
char s[N];
 void solve()
 {
     int h = -1e9, l = 1e9; ll ans = 0;
    int cur = 0;
    for (int i = 1; i <= n; ++i) {
        h = max(h, cnt);
        l = min(l, cnt);
        if (s[i] == 'L') ++cnt;
        if (s[i] == 'P') {
            ++cnt;
            if (cnt - l > 2) {
              cnt-=2;
               continue;
            }
          if (max(cnt, h) - l == 2){
                 {
                    ans += f[(n-i)/2];
                    ans %= m;
                }
            }
            else {
                ans += f[(n-i)/2] + f[(n-i+1)/2] - 1;
                ans %= m;
            }
            cnt -= 2;
        }
    }
 
    cout<<ans+1;
 }
 int main() {
   cin>>n>>m;
    scanf("%s", s + 1);
    f[0] = 1;
    for (int i = 1; i <= n; ++i) f[i] = (2*f[i - 1]) % m;
    solve();
 
    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

linear_garden.cpp: In function 'void solve()':
linear_garden.cpp:13:20: error: 'cnt' was not declared in this scope; did you mean 'int'?
   13 |         h = max(h, cnt);
      |                    ^~~
      |                    int
linear_garden.cpp:11:9: warning: unused variable 'cur' [-Wunused-variable]
   11 |     int cur = 0;
      |         ^~~
linear_garden.cpp: In function 'int main()':
linear_garden.cpp:40:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   40 |     scanf("%s", s + 1);
      |     ~~~~~^~~~~~~~~~~~~