题目
题意
有n种石头,有两个口袋,每个口袋只能装一种k个石头。问装完所有的石头要多少天。
模拟超时。遂计算出每种石头需要的口袋数。最后除2,整除直接为答案,否则加一即可。
代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
int n,k,s[100000]={0};
cin>>n>>k;
for(int i=0;i<n;i++){
int t;
cin>>t;
s[i]+=t/k;
if(t%k!=0) s[i]++;
}
ll ans=0;
for(int i=0;i<n;i++){
ans+=s[i];
}
if(ans%2==0) cout<<ans/2;
else cout<<(ans/2)+1;
return 0;
}