日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Codeforces 1118D1】Coffee and Coursework (Easy version)

發(fā)布時間:2023/12/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Codeforces 1118D1】Coffee and Coursework (Easy version) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【鏈接】 我是鏈接,點我呀:)
【題意】


題意

【題解】


從小到大枚舉天數(shù).
然后貪心地,從大到小分配a[i]到各個天當中。
a[n]分配到第1天,a[n-1]分配到第2天,...然后a[n-x]又分到第一天。
這樣能保證優(yōu)先讓大的數(shù)字能夠無損失地加進去。
從而盡可能快的湊夠m天

【代碼】

#include <bits/stdc++.h> using namespace std; const int N = 100;int n,m; int a[N+10]; vector<int> v[N+10];int main(){ios::sync_with_stdio(0),cin.tie(0);cin >> n >> m;for (int i = 1;i <= n;i++){cin >> a[i];}sort(a+1,a+1+n);reverse(a+1,a+1+n);for (int day = 1;day <= n;day++){int cur = 1;for (int j = 1;j <= day;j++) v[j].clear();for (int j = 1;j <= n;j++){int len = v[cur].size();if (len>0 && a[j]-len<=0){break;}v[cur].push_back(a[j]);cur++;if (cur>day) cur = 1;}int total = 0;for (int j = 1;j <= day;j++){int len = v[j].size();for (int l = 0;l < len;l++){int x = v[j][l];x-=l;total+=x;}}if (total>=m){cout<<day<<endl;return 0;}}cout<<-1<<endl;return 0; }

總結(jié)

以上是生活随笔為你收集整理的【Codeforces 1118D1】Coffee and Coursework (Easy version)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。