제출 #1179847

#제출 시각아이디문제언어결과실행 시간메모리
1179847user736482Semiexpress (JOI17_semiexpress)C++20
48 / 100
0 ms328 KiB
#pragma GCC optimize("O3") #include <bits/stdc++.h> using namespace std; #define ll long long #define ld long double #define pb push_back #define ff first #define ss second #define MOD 1000000009 #define INF 1000000019 #define INFL 1000000000000000099LL ll n,q,s,t,a,b,c,d,ans,k,m,K; vector<ll>szy,zna,dod; void calculate(ll ile,ll lim,bool bl){ if(lim>=0) { ll ak=lim/a; ak++; if(ak>=ile) ans+=ile; else{ ans+=ak; } ile-=ak; lim-=ak*c; // cout<<ak<<" "; } k--; while(lim>=0 && ile>0){ ll ak=lim/a; ak++; //cout<<ak<<" "; if(ak>=ile) dod.pb(ile); else{ zna.pb(ak); } ile-=ak; lim-=ak*c; if(zna.size()>=K+7)return; } } int main() { ios_base::sync_with_stdio(0);cin.tie(0); cin>>n>>m>>k>>a>>b>>c>>t; K=k; for(ll i=0;i<m;i++){ cin>>d; d--; szy.pb(d); if(i)calculate(szy[i]-szy[i-1],t-b*szy[i-1],1); // if(zna.size()>=K)break; } for(ll i : dod)zna.pb(i); sort(zna.begin(),zna.end()); k--; while(zna.size() && k){ k--; ans+=zna.back(); zna.pop_back(); } if((n-1)*b>t)ans--; cout<<ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...