結果
問題 |
No.2462 七人カノン
|
ユーザー |
|
提出日時 | 2023-09-08 23:00:43 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 974 bytes |
コンパイル時間 | 2,008 ms |
コンパイル使用メモリ | 178,072 KB |
実行使用メモリ | 813,952 KB |
最終ジャッジ日時 | 2024-06-26 16:17:52 |
合計ジャッジ時間 | 9,341 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | WA * 5 TLE * 5 MLE * 1 -- * 12 |
ソースコード
#include <bits/stdc++.h> using namespace std; const int INF=100000; int main(){ int n,q; cin >> n >> q; //演奏者数いもす vector<int> a(INF+1,0); //各演奏者いもす vector<vector<int>> b(n,vector<int>(INF+1,0)); while(q--){ int i,s,t; cin >> i >> s >> t; i--; b[i][s]++; b[i][t]--; a[s]++; a[t]--; } //目立ち度 vector<double> M(n); //演奏者数 vector<int> A(INF+1,0); A[0]=a[0]; //演奏中 vector<vector<bool>> B(n,vector<bool>(INF+1,false)); for(int j=0;j<n;j++){ B[j][0]=(b[j][0]>0); if(A[0]){ M[j]+=(B[j][0]?1.0:0.0)/A[0]; } } for(int k=1;k<=INF;k++){ //演奏者数 A[k]=A[k-1]+a[k]; for(int j=0;j<n;j++){ if(b[j][k]>0){ B[j][k]=true; }else if(b[j][k]<0){ B[j][k]=false; }else{ B[j][k]=B[j][k-1]; } if(A[k]){ M[j]+=(B[j][k]?1.0:0.0)/A[k]; } } } cout << fixed << setprecision(14) << endl; for(int j=0;j<n;j++){ cout << M[j] << endl; } return 0; }