Submission #1120366

#TimeUsernameProblemLanguageResultExecution timeMemory
1120366vjudge1Palindrome-Free Numbers (BOI13_numbers)C++17
3.75 / 100
585 ms25932 KiB
#include <bits/stdc++.h> using namespace std; # define int long long bool ok(string s) { string scc; for(int i = 0; i < s.size() - 1; i++) { for(int j = i + 1; j < s.size(); j++) { string sc = ""; for(int z = i; z <= j; z++) sc += s[z]; scc = sc; reverse(scc.begin(), scc.end()); if(sc == scc){ return 1; } } } return 0; } void solve() { vector < string > v; set < string > npf; string s, sc; int a, b, cnt = 0, k; cin >> a >> b; for(int i = 9; i <= 10000000; i++) { s = to_string(i); sc = s; reverse(sc.begin(), sc.end()); if(s == sc) { v.push_back(s); npf.insert(s); } } for(int i = 100; i <= 10000000; i += 100) { s = to_string(i); npf.insert(s); } for(int i = 0; i < v.size(); i++) { npf.insert(v[i] + "0"); npf.insert(v[i] + "1"); npf.insert(v[i] + "2"); npf.insert(v[i] + "3"); npf.insert(v[i] + "4"); npf.insert(v[i] + "5"); npf.insert(v[i] + "6"); npf.insert(v[i] + "7"); npf.insert(v[i] + "8"); npf.insert(v[i] + "9"); npf.insert("1" + v[i]); npf.insert("2" + v[i]); npf.insert("3" + v[i]); npf.insert("4" + v[i]); npf.insert("5" + v[i]); npf.insert("6" + v[i]); npf.insert("7" + v[i]); npf.insert("8" + v[i]); npf.insert("9" + v[i]); } for(auto i : npf) { k = stoi(i); if(k >= a && k <= b) { cnt++; } } cout << (b - a + 1) - cnt << endl; } signed main() { int tt = 1; // cin >> tt; while(tt--) solve(); }

Compilation message (stderr)

numbers.cpp: In function 'bool ok(std::string)':
numbers.cpp:8:20: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    8 |   for(int i = 0; i < s.size() - 1; i++)
      |                  ~~^~~~~~~~~~~~~~
numbers.cpp:10:26: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |     for(int j = i + 1; j < s.size(); j++)
      |                        ~~^~~~~~~~~~
numbers.cpp: In function 'void solve()':
numbers.cpp:48:20: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |   for(int i = 0; i < v.size(); i++)
      |                  ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...