Submission #4028570


Source Code Expand

#include <string>
#include <vector>
#include <sstream>
#include <iostream>
#include <algorithm>
#include <map>
#include <list>
#include <set>
#include <numeric>
#include <queue>
#include <stack>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <cstring>
#include <climits>
#include <cfloat>
#include <ctime>
#include <complex>
#include <cassert>
#include <array>
#include <bitset> 
#include <unordered_map>
#include <random>

using namespace std;
typedef long long LL;
typedef pair<double,LL> P;

const int S=5e5+10;
double ts[S];
LL vs[S];
int N;
double L;
int main() {
	cout.precision(17);
	cin >> N >> L;
	double sum=0;
	LL sumv=0;
	int s=0; 
	vector<P> q;
	for(int i=0;i<N;i++){
		cin >> ts[i];
		cin >> vs[i];
		if(s<q.size()&&q.back().first>ts[i]){
			if(q.back().second+vs[i]>=L){
				auto t=(vs[i]*ts[i]+(L-vs[i])*q.back().first)/L;
				auto v=L;
				sum+=t*v;
				sumv+=v;
				q.push_back(P(t,v));
			}
			else{
				sum+=ts[i]*vs[i];
				sumv+=vs[i];
				auto v=vs[i]+q.back().second;
				auto t=(vs[i]*ts[i]+q.back().second*q.back().first)/v;
				q.back()=P(t,v);
			}
		}
		else{
			sum+=ts[i]*vs[i];
			sumv+=vs[i];
			q.push_back(P(ts[i],vs[i]));
		}
		while(sumv>L){
			if(sumv-q[s].second>=L){
				sumv-=q[s].second;
				sum-=q[s].first*q[s].second;
				s++;
			}
			else{
				LL d=sumv-L;
				sumv-=d;
				sum-=q[s].first*d;
				q[s].second-=d;
			}
		}
		cout << sum/L << endl;
	}

	return 0;
}

Submission Info

Submission Time
Task F - Dam
User kenimo
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1530 Byte
Status WA
Exec Time 2488 ms
Memory 25448 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 900
Status
AC × 3
AC × 12
WA × 5
Set Name Test Cases
Sample 00-00.txt, 00-01.txt, 00-02.txt
All 00-00.txt, 00-01.txt, 00-02.txt, 01-00.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt
Case Name Status Exec Time Memory
00-00.txt AC 2 ms 2304 KB
00-01.txt AC 2 ms 2304 KB
00-02.txt AC 2 ms 2304 KB
01-00.txt AC 2400 ms 24680 KB
01-01.txt WA 2449 ms 17280 KB
01-02.txt AC 2369 ms 24936 KB
01-03.txt WA 2373 ms 21100 KB
01-04.txt WA 2488 ms 21228 KB
01-05.txt AC 2399 ms 25320 KB
01-06.txt AC 2412 ms 25192 KB
01-07.txt AC 2378 ms 25192 KB
01-08.txt WA 2481 ms 21228 KB
01-09.txt WA 2383 ms 21228 KB
01-10.txt AC 2408 ms 25192 KB
01-11.txt AC 2347 ms 25192 KB
01-12.txt AC 2371 ms 25448 KB
01-13.txt AC 2454 ms 25192 KB