Submission #961930

#TimeUsernameProblemLanguageResultExecution timeMemory
961930marinalucaPalindrome-Free Numbers (BOI13_numbers)C++14
100 / 100
1 ms596 KiB
#include <bits/stdc++.h> #pragma GCC optimize ("O4") #pragma GCC optimize ("fast-math") #pragma GCC optimize ("unroll-loops") using namespace std; #define int long long #define ll long long #define XX first #define YY second #define all (x) begin(x), end(x) /** #define cin fin #define cout fout ifstream cin ("pfn.in"); ofstream cout ("pfn.out"); **/ /**typedef double dbl; typedef long double ldb; typedef pair <int, int> pii; typedef vector <int> vii; typedef pair <double, int> pdi;**/ vector <int> v; const int NMAX = 10; const int VMAX = 1; const int RMAX = 179; int x, y; int dp[20][2][2][2]; void constr (int x){ if (x < 10){ v.push_back(x); return; } constr (x / 10); v.push_back(x % 10); } int gigel (int i, int s, int t, int a, int b, int poz){ if (i == v.size()) return true; if (dp[i][s][t][a] != -1) return dp[i][s][t][a]; int idx = 9, sum = 0; if (s == 0) idx = v[i]; for (int in = 0; in <= idx; ++ in){ if (in == poz && t) continue; if (a && in == b) continue; sum += gigel (i + 1, s | (in < idx), t | (in > 0) , a | t , poz , in); } return dp[i][s][t][a] = sum; } int solve (int a){ if (a == -1) return 0; v.clear(); constr (a); memset (dp, -1, sizeof dp); return gigel (0, 0, 0,0,0,0); } signed main(void){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> x >> y; cout << solve(y) - solve(x - 1); return 0 ^ 0; }

Compilation message (stderr)

numbers.cpp: In function 'long long int gigel(long long int, long long int, long long int, long long int, long long int, long long int)':
numbers.cpp:40:11: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |     if (i == v.size())
      |         ~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...