제출 #1311797

#제출 시각아이디문제언어결과실행 시간메모리
1311797settopDetecting Molecules (IOI16_molecules)C++20
69 / 100
40 ms6672 KiB
#include "molecules.h" #include<bits/stdc++.h> using namespace std; #include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; #define ll long long #define fall(i,a,b) for(int i=a;i<=b;i++) #define rfall(i,a,b) for(int i=a;i>=b;i--) #define pb push_back #define all(x) x.begin(),x.end() #define sz(x) (int)x.size() #define ordered_set tree<int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update> typedef pair<ll,ll> pii; std::vector<int> find_subset(int l, int u, std::vector<int> w) { int n=sz(w); vector<pii> v; fall(i,0,n-1) v.pb({w[i],i}); sort(all(v)); vector<ll> pref(n+1); fall(i,1,n) pref[i]=pref[i-1]+v[i-1].first; fall(tam,1,n){ int ini=0,fim=min(tam,n-tam); while(ini<=fim){ int mei=(ini+fim)/2; int soma=pref[n]-pref[n-mei]+pref[tam]-pref[mei]; if(soma>u) fim=mei-1; else if(soma<l) ini=mei+1; else{ vector<int> ans; rfall(i,n,n-mei+1) ans.pb(v[i-1].second); rfall(i,tam,mei+1) ans.pb(v[i-1].second); sort(all(ans)); return ans; } } } return {}; }

컴파일 시 표준 에러 (stderr) 메시지

molecules.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
molecules_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...