Submission #459985

#TimeUsernameProblemLanguageResultExecution timeMemory
459985ak2006Nivelle (COCI20_nivelle)C++14
0 / 110
183 ms716 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using vb = vector<bool>; using vvb = vector<vb>; using vi = vector<int>; using vvi = vector<vi>; using vl = vector<ll>; using vvl = vector<vl>; using vc = vector<char>; using vvc = vector<vc>; using vs = vector<string>; const ll mod = 1e9 + 7,inf = 1e18; #define pb push_back #define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); void setIO() { fast; } int main() { setIO(); int n; cin>>n; vi a(n + 1); for (int i = 1;i<=n;i++){ char x; cin>>x; a[i] = x - 'a'; } ll ansNum = 1,L = 1,R = 1,ansCur = 1; for (int num = 1;num<=26;num++){ set<int>s; ll l = 1,r = 1;//[l,r) ll maxL = 1,maxR = 1; ll cur = 1; while (r <= n){ while (s.size() <= num && r <= n){ if (r - l > cur){ cur = r - l; maxL = l; maxR = r - 1; } s.insert(a[r++]); } if (s.size() <= num){ if (r - l > cur){ cur = r - l; maxL = l; maxR = r - 1; } } while (s.size() > num){ if (s.find(a[l]) != s.end()) s.erase(a[l]); l++; } } if (num * ansCur < ansNum * cur){ ansCur = cur; ansNum = num; L = maxL; R = maxR; } } cout<<L<<" "<<R<<'\n'; return 0; }

Compilation message (stderr)

nivelle.cpp: In function 'int main()':
nivelle.cpp:38:29: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   38 |             while (s.size() <= num && r <= n){
      |                    ~~~~~~~~~^~~~~~
nivelle.cpp:46:26: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   46 |             if (s.size() <= num){
      |                 ~~~~~~~~~^~~~~~
nivelle.cpp:53:29: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   53 |             while (s.size() > num){
      |                    ~~~~~~~~~^~~~~
#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...