Submission #1036477

#TimeUsernameProblemLanguageResultExecution timeMemory
1036477VMaksimoski008Linear Garden (IOI08_linear_garden)C++17
0 / 100
1558 ms65536 KiB
#include <bits/stdc++.h> #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() //#define int long long using namespace std; using ll = long long; using pii = pair<int, int>; using pll = pair<ll, ll>; const int mod = 1e9 + 7; const int LOG = 20; const int maxn = 1e5 + 5; ll n, m, ans = 0; string s; void f(string t) { if(t.size() == n) { for(int i=0; i<n; i++) { if(t[i] > s[i]) break; if(t[i] < s[i]) { ans = (ans + 1) % m; return ; } } return ; } if(t.size() < 2) { t += '1'; f(t); t.pop_back(); t += '0'; f(t); t.pop_back(); } else { if(t[t.size()-1] == t[t.size()-2]) { char ch; if(t[t.size()-1] == '1') ch = '0'; else ch = '1'; t += ch; f(t); t.pop_back(); } else { t += '1'; f(t); t.pop_back(); t += '0'; f(t); t.pop_back(); } } } signed main() { cin >> n >> m >> s; for(int i=0; i<n; i++) s[i] = (s[i] == 'P' ? '1' : '0'); // cout << s << '\n'; f(""); cout << ans << '\n'; return 0; }

Compilation message (stderr)

linear_garden.cpp: In function 'void f(std::string)':
linear_garden.cpp:21:17: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   21 |     if(t.size() == n) {
      |        ~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...