uva 11269——Setting Problems
生活随笔
收集整理的這篇文章主要介紹了
uva 11269——Setting Problems
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:一共有n個問題,每個問題都有相應的s和g段,必須先解決s,然后才能解決g,兩個人解決問題,問怎么解決使得總耗時最小。
思路:貪心。按照A.s+max(A.g,B.s)+B.g和B.s+max(B.g,A.s)+A.g;的ab先后順序,排序即可。
code:
#include <bits/stdc++.h> using namespace std;const int N=105; struct node {int g,s; }v[N]; bool cmp(node A,node B){return A.s+max(A.g,B.s)+B.g<B.s+max(B.g,A.s)+A.g; } int main() {int n;while (~scanf("%d",&n)){for (int i=0;i<n;i++) scanf("%d",&v[i].s);for (int i=0;i<n;i++) scanf("%d",&v[i].g);sort(v,v+n,cmp);int S=0,G=0;for (int i=0;i<n;i++){S+=v[i].s;if (G<=S) G=S+v[i].g;else G+=v[i].g;}printf("%d\n",G);} }總結
以上是生活随笔為你收集整理的uva 11269——Setting Problems的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 闲人马大姐剧情介绍
- 下一篇: uva 11012——Cosmic Ca