算法课本 4-3磁带最优存储问题

    技术2022-07-11  94

    算法课本 4-3磁带最优存储问题

    #include<iostream> #include<bits/stdc++.h> using namespace std; struct node{ double len;//长度 double p;//概率 double time;//时间 }; bool operator < (const node&p,const node &q){ return p.time<q.time; } int main() { int n; cin>>n; node num[n],temp; int all=0;//统计概率和 for(int i=0;i<n;i++) { cin>>temp.len>>temp.p;//输入长度和原始概率 all+=temp.p; num[i]=temp; } for(int i=0;i<n;i++) { num[i].p=num[i].p/all;//真实概率 num[i].time=num[i].len*num[i].p;//题目中给的 } //按照读取时间由小到大排序 sort(num,num+n); double ans=0,ans2=0; for(int i=0;i<n;i++) { ans+=num[i].time; ans2+=ans;//读完前面的才能读取现在的,所以是这样子求和 } cout<<ans2<<endl; }
    Processed: 0.013, SQL: 9