Submission #866268

#TimeUsernameProblemLanguageResultExecution timeMemory
866268lomtaGarage (IOI09_garage)C++17
100 / 100
3 ms348 KiB
#include <bits/stdc++.h> using namespace std; #define int long long queue<int> q; set<int> st; main(){ int n;cin>>n; int m;cin>>m; vector<int> v1(n); for(int i=0;i<n;i++){ cin>>v1[i]; st.insert(i); } vector<int> v(m); for(int i=0;i<m;i++){ cin>>v[i]; } int ans=0; m*=2; map<int,int> mp; while(m--){ int x;cin>>x; if(x>0){ x--; q.push(x); if(st.size()==0){ continue; } else{ int k=*st.begin(); auto l=st.find(k); st.erase(l); int kk=q.front(); q.pop(); ans+=v1[k]*v[kk]; mp[kk]=k; //cout<<"k:"<<v[kk]<<" "<<k<<endl; } } else{ x++; int out=mp[abs(x)]; st.insert(out); if(q.size()>0){ int kk=q.front(); q.pop(); int k=*st.begin(); auto l=st.find(k); st.erase(l); ans+=v1[k]*v[kk]; mp[kk]=k; } } //cout<<"ans:"<<ans<<endl; } cout<<ans<<endl; }

Compilation message (stderr)

garage.cpp:6:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
    6 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...