zoukankan      html  css  js  c++  java
  • SGU 158.Commuter Train

    一道简单题。

    火车停的位置不是在整点就是在二分之一点,坐标*2,然后枚举火车停的位置,计算总距离即可。

    code:

    #include <iostream>
    #include <cmath>
    #include <cstring>
    #include <algorithm>
    #include <iomanip>
    #define INF 309
    using namespace std;
    int L, m, n, x, ans, p;
    int pg[INF], train[INF];
    int main() {
    	cin >> L >> m;
    	for (int i = 1; i <= m; i++) cin >> x, pg[i] = x << 1;
    	cin >> n;
    	for (int i = 2; i <= n; i++) cin >> x, train[i] = x << 1;
    	L <<= 1;
    	for (int s = 0; train[n] <= L;) {
    		int tem = 0;
    		for (int i = 1; i <= m; i++) {
    			int t = lower_bound (train + 1, train + 1 + n, pg[i]) - train;
    			if(t!=1)tem += min (abs (train[t]-pg[i]), abs (train[t - 1] - pg[i]) );
    			else
                                tem+=abs(train[t]-pg[i]);
    		}
    		if (ans < tem)
    			ans = tem, p = s;
    		for (int i = n; i >= 1; i--)
    			train[i]++;
    		s++;
    	}
    	cout<<p/2;if(p&1) cout<<".5";
    	cout<<' '<<ans/2;if(ans&1) cout<<".5";
    	return 0;
    }
    

      

  • 相关阅读:
    win中使用curl上传文件报错
    S2-052
    S2-048
    S2-045、S2-046
    S2-033、S2-037
    S2-032
    S2-029
    day12-python之深灰魔法
    day10-11-python基础之字符串
    day09-python基础
  • 原文地址:https://www.cnblogs.com/keam37/p/3904458.html
Copyright © 2011-2022 走看看