clipboard.png

题目没读懂,刚开始都不知道他在说些什么。。。

简而言之就是给出一堆绳子,练成一条;

没两两段绳子练成环,串在一起,之后仍旧视为一串绳子,下次跟别的单独绳子连接的时候仍需对折;

所以可以看出,越长的绳子在前面越对折越吃亏,所以应该进行排序,长的绳子放在后面进行连接;

#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<vector>
#include<set>
#include<algorithm>
using namespace std;
using std::vector;
using std::set;
const int maxn=10100;
int lope[maxn]={0};
int main(){
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%d",&lope[i]);
    }
    sort(lope,lope+n);
    int line=lope[0];
    for(int i=1;i<n;i++){
        line+=lope[i];
        line/=2;
    }
    printf("%d",line);
    system("pause");
    return 0;
}

宋霖轩
16 声望4 粉丝

克哈的霓虹都为我闪烁