제출 #138346

#제출 시각아이디문제언어결과실행 시간메모리
138346MvC선물상자 (IOI15_boxes)C++11
100 / 100
938 ms287480 KiB
#pragma GCC target("avx2") #pragma GCC optimization("O3") #pragma GCC optimization("unroll-loops") #include<bits/stdc++.h> #include "boxes.h" #define rc(x) return cout<<x<<endl,0 #define pb push_back #define mkp make_pair #define in insert #define er erase #define fd find #define fr first #define sc second typedef long long ll; typedef long double ld; const ll INF=0x3f3f3f3f3f3f3f3f; const ll llinf=(1LL<<62); const int inf=(1<<30); const int nmax=1e7+50; const int mod=1e9+7; using namespace std; int n,k,i; ll ans=llinf,p[nmax],s[nmax],a[nmax],l; ll vl(ll x) { return min(x,l-x); } ll delivery(int N,int K,int L,int b[]) { n=N,k=K,l=L; for(i=1;i<=n;i++)a[i]=b[i-1]; sort(a+1,a+n+1); a[n+1]=l; for(i=1;i<k;i++) { p[i]=a[i]; } for(i=k;i<=n;i++) { p[i]=p[i-k]+a[i-k]+a[i]; } for(i=n;i>n-k+1;i--) { s[i]=l-a[i]; } for(i=n-k+1;i>=1;i--) { s[i]=s[i+k]+l-a[i+k]+l-a[i]; } for(i=0;i<=n;i++) { ans=min(ans,p[i]+vl(a[i])+s[i+1]+vl(a[i+1])); } return ans; }

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

boxes.cpp:2:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization("O3")
 
boxes.cpp:3:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization("unroll-loops")
#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...