제출 #1137266

#제출 시각아이디문제언어결과실행 시간메모리
1137266rayan_bdDetecting Molecules (IOI16_molecules)C++20
69 / 100
37 ms4168 KiB
#include <bits/stdc++.h> #include "molecules.h" using namespace std; #define getar(ar,n) for(ll i=0;i<n;++i) cin>>ar[i] #define show(n) cout<<n<<'\n' #define all(v) v.begin(), v.end() #define br cout<<"\n" #define pb push_back #define nl '\n' #define yes cout<<"YES\n" #define no cout<<"NO\n" #define ret return #define ll long long #define ld long double #define sza(x) ((int)x.size()) #define fi first #define se second const int mxN = 1e5 + 5; const ll MOD = 1e9 + 7; const ll INF = 1e9; const ld EPS = 1e-9; vector<int> find_subset(int L,int R,vector<int> w){ int n=w.size(); vector<pair<int,int>> vec(n+1); vector<int> pref(n+1,0); for(int i=1;i<=n;++i){ vec[i]={w[i-1],i}; } sort(all(vec)); for(int i=1;i<=n;++i) pref[i]=pref[i-1]+vec[i].fi; vector<int> ans; for(int i=1;i<=n;++i){ int st=i,en=n,sm=-1,p; while(st<=en){ int mid=st+(en-st)/2; if((pref[mid]-pref[i-1])<=R){ sm=pref[mid]-pref[i-1]; p=mid; st=mid+1; }else{ en=mid-1; } } if(sm>=L&&sm<=R){ for(int j=i;j<=p;++j) ans.pb(vec[j].se-1); return ans; } } return ans; }

컴파일 시 표준 에러 (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...