码迷,mamicode.com
首页 > 其他好文 > 详细

扩大精度+思维——poj3347

时间:2020-02-18 18:42:46      阅读:55      评论:0      收藏:0      [点我收藏+]

标签:can   ios   nbsp   names   scan   pac   flag   space   else   

#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std;
#define N 305

int n,a[N],b[N];//把边长当做中心到顶点的距离 
int L[N],R[N];

int main(){
    while(scanf("%d",&n) && n){
        for(int i=1;i<=n;i++)cin>>a[i];
        b[1]=a[1];
        for(int i=2;i<=n;i++){
            int pos=a[i];
            for(int j=1;j<i;j++){
                if(a[j]<a[i])pos=max(pos,b[j]+2*a[j]);
                else pos=max(pos,b[j]+2*a[i]);
            }
            b[i]=pos;
        }
        //for(int i=1;i<=n;i++)cout<<b[i]<<" ";
        int nowR=0;
        for(int i=1;i<=n;i++){
            R[i]=nowR;
            nowR=max(nowR,b[i]+a[i]);
        }
        int nowL=0x3f3f3f3f;
        for(int i=n;i>=1;i--){
            L[i]=nowL;
            nowL=min(nowL,b[i]-a[i]);
        }
        int flag=0;
        for(int i=1;i<=n;i++)
            if(L[i]>R[i] && R[i]<b[i]+a[i] && L[i]>b[i]-a[i]){
                if(flag==0){
                    cout<<i;
                    flag=1;
                }
                else cout<<" "<<i;
            }
        puts("");
    }
}

 

扩大精度+思维——poj3347

标签:can   ios   nbsp   names   scan   pac   flag   space   else   

原文地址:https://www.cnblogs.com/zsben991126/p/12327045.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!