Submission #890771

#TimeUsernameProblemLanguageResultExecution timeMemory
890771vjudge1Bitaro's travel (JOI23_travel)C++17
15 / 100
3077 ms9904 KiB
#include <bits/stdc++.h> #define ll long long #define str string #define ins insert #define ld long double #define pb push_back #define pf push_front #define pof pop_front() #define pob pop_back() #define lb lower_bound #define ub upper_bound #define endl "\n" #define fr first #define sc second #define mpa make_pair #define all(x) x.begin(),x.end() #define rall(x) x.rbegin(),x.rend() #define sz size() #define bc back() #define ar array #define vll vector<ll> using namespace std;/* #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds;*/ template <class _T> bool chmin(_T &x, const _T &y){ if(x>y){ x=y; return true; } return false; } template <class _T> bool chmax(_T &x, const _T &y){ bool flag=false; if (x<y){ x=y;flag|=true; } return flag; } //#define ordered_set tree<ll, null_type,less_equal<ll>, rb_tree_tag,tree_order_statistics_node_update> void fre(string s){freopen((s+".in").c_str(),"r",stdin);freopen((s+".out").c_str(),"w",stdout);} void start(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); } const ll inf=2e18+7; const ll mod=1e9+7; const ll N=1e5+7; const ld eps=1e-9; void solve(){ ll i,j,q; ll n,b; cin>>n; set<ll> st; for(i=1;i<=n;i++){ cin>>b; st.ins(b); } cin>>q; ll sum=0; for(i=0;i<q;i++){ cin>>b; sum=0; ll x=inf,y=inf; for(j=0;j<n;j++){ x=inf,y=inf; auto up=st.ub(b); if(up!=st.end())x=abs(*up-b); if(up!=st.begin())y=abs(b-*(--up)); if(x<y){ sum+=x; ll x=*st.ub(b); st.erase(st.ub(b)); b=x; }else{ sum+=y; b=*up; st.erase(up); } } cout<<sum<<endl; } } signed main(){ //start(); ll t=1; //cin>>t; while(t--) solve(); return 0; } /* 1 6 5 4 3 2 1 0 */

Compilation message (stderr)

travel.cpp: In function 'void fre(std::string)':
travel.cpp:43:27: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   43 | void fre(string s){freopen((s+".in").c_str(),"r",stdin);freopen((s+".out").c_str(),"w",stdout);}
      |                    ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
travel.cpp:43:64: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   43 | void fre(string s){freopen((s+".in").c_str(),"r",stdin);freopen((s+".out").c_str(),"w",stdout);}
      |                                                         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...