Submission #701859

#TimeUsernameProblemLanguageResultExecution timeMemory
701859Darren0724The Potion of Great Power (CEOI20_potion)C++17
17 / 100
372 ms51280 KiB
#include<bits/stdc++.h> using namespace std; int n; vector<int> h; struct cmp{ bool operator()(const int &a,const int &b)const{ if(h[a]==h[b]){ return a<b; } return h[a]<h[b]; } }; vector<map<int,vector<pair<int,int>>>> s; void init(int N, int D, int H[]) { n=N; h.resize(n); s.resize(n); for(int i=0;i<n;i++){ h[i]=H[i]; } } void curseChanges(int U, int A[], int B[]) { for(int i=1;i<=U;i++){ int a=A[i-1]; int b=B[i-1]; if(s[a].find(b)==s[a].end()){ s[a][b].push_back({i,1}); s[b][a].push_back({i,1}); } else{ s[a][b].push_back({i,0}); s[b][a].push_back({i,0}); } } } int question(int x, int y, int v) { int ans=1000000000; vector<int> a,b; for(pair<int,vector<pair<int,int>>> j:s[x]){ int tmp=(--upper_bound(j.second.begin(),j.second.end(),make_pair(v,10)))->second; if(tmp==1){ a.push_back(j.first); } } for(pair<int,vector<pair<int,int>>> j:s[y]){ int tmp=(--upper_bound(j.second.begin(),j.second.end(),make_pair(v,10)))->second; if(tmp==1){ b.push_back(j.first); } } sort(a.begin(),a.end(),cmp()); sort(b.begin(),b.end(),cmp()); int ptr1=0,ptr2=0; while(ptr1<a.size()&&ptr2<b.size()){ int a1=a[ptr1]; int b1=b[ptr2]; ans=min(ans,abs(h[a1]-h[b1])); if(h[a1]<h[b1]){ ptr1++; } else{ ptr2++; } } return ans; }

Compilation message (stderr)

potion.cpp: In function 'int question(int, int, int)':
potion.cpp:57:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |     while(ptr1<a.size()&&ptr2<b.size()){
      |           ~~~~^~~~~~~~~
potion.cpp:57:30: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |     while(ptr1<a.size()&&ptr2<b.size()){
      |                          ~~~~^~~~~~~~~
#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...