結果
問題 |
No.2462 七人カノン
|
ユーザー |
![]() |
提出日時 | 2023-09-19 02:48:18 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 276 ms / 2,000 ms |
コード長 | 642 bytes |
コンパイル時間 | 2,139 ms |
コンパイル使用メモリ | 200,748 KB |
最終ジャッジ日時 | 2025-02-16 23:31:43 |
ジャッジサーバーID (参考情報) |
judge3 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
#include<bits/stdc++.h> using namespace std; int main(){ int n,q; cin>>n>>q; vector<tuple<int,int,int>> query(q); vector<int> cnt(100009,0); for(int i=0;i<q;i++){ int I,S,T; cin>>I>>S>>T; I--; query[i] = {I,S,T}; cnt[S]++; cnt[T]--; } for(int i=0;i<100008;i++) cnt[i+1] += cnt[i]; vector<double> get_att(100009,(double)0); for(int i=0;i<100008;i++){ get_att[i+1] += get_att[i]; if(cnt[i]>0){ get_att[i+1] += (double)1/cnt[i]; } } vector<double> att(n,0); for(int i=0;i<q;i++){ auto [I,S,T] = query[i]; att[I] += get_att[T] - get_att[S]; } for(int i=0;i<n;i++) cout<<setprecision(15)<<att[i]<<endl; }