Submission #277953

#TimeUsernameProblemLanguageResultExecution timeMemory
277953Revo7Bubble Sort 2 (JOI18_bubblesort2)C++14
60 / 100
945 ms11156 KiB
#include "bubblesort2.h" #include<bits/stdc++.h> #define pb push_back using namespace std; vector<int> countScans(vector<int> a,vector<int> pos,vector<int> v){ if(a.size()<=8000){ set<pair<int,int>>s; for(int i=0;i<a.size();i++){ s.insert({a[i],i}); } vector<int>ans; for(int i=0;i<pos.size();i++){ int mx=0; s.erase({a[pos[i]],pos[i]}); a[pos[i]]=v[i]; s.insert({a[pos[i]],pos[i]}); int cur=0; for(auto x:s){ mx=max(mx,x.second-cur); cur++; } ans.pb(mx); //cout<<ans.back()<<endl; } return ans; } set<int>s[111]; for(int i=0;i<a.size();i++){ s[a[i]].insert(i); } vector<int>ans; for(int i=0;i<pos.size();i++){ //cout<<i<<endl; int mx=0,id=pos[i],newval=v[i]; s[a[id]].erase(id); a[id]=newval; s[newval].insert(id); int cur=0; for(int j=1;j<=100;j++){ cur+=s[j].size(); if(s[j].size()) mx=max(mx,*s[j].rbegin()-cur+1); } ans.pb(mx); } return ans; } /* 4 2 1 2 3 4 0 3 2 1 */

Compilation message (stderr)

bubblesort2.cpp: In function 'std::vector<int> countScans(std::vector<int>, std::vector<int>, std::vector<int>)':
bubblesort2.cpp:10:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |     for(int i=0;i<a.size();i++){
      |                 ~^~~~~~~~~
bubblesort2.cpp:14:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |     for(int i=0;i<pos.size();i++){
      |                 ~^~~~~~~~~~~
bubblesort2.cpp:31:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |     for(int i=0;i<a.size();i++){
      |                 ~^~~~~~~~~
bubblesort2.cpp:36:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |     for(int i=0;i<pos.size();i++){
      |                 ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...