Submission #4557658
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
using Int = long long;
template<typename T1,typename T2> inline void chmin(T1 &a,T2 b){if(a>b) a=b;}
template<typename T1,typename T2> inline void chmax(T1 &a,T2 b){if(a<b) a=b;}
template <typename T>
struct SegmentTree{
using F = function<T(T,T)>;
int n;
F f;
T ti;
vector<T> dat;
SegmentTree(){};
SegmentTree(F f,T ti):f(f),ti(ti){}
void init(int n_){
n=1;
while(n<n_) n<<=1;
dat.assign(n<<1,ti);
}
void build(const vector<T> &v){
int n_=v.size();
init(n_);
for(int i=0;i<n_;i++) dat[n+i]=v[i];
for(int i=n-1;i;i--)
dat[i]=f(dat[(i<<1)|0],dat[(i<<1)|1]);
}
void set_val(int k,T x){
dat[k+=n]=x;
while(k>>=1)
dat[k]=f(dat[(k<<1)|0],dat[(k<<1)|1]);
}
T query(int a,int b){
T vl=ti,vr=ti;
for(int l=a+n,r=b+n;l<r;l>>=1,r>>=1) {
if(l&1) vl=f(vl,dat[l++]);
if(r&1) vr=f(dat[--r],vr);
}
return f(vl,vr);
}
};
template<typename T>
vector<T> compress(vector<T> v){
sort(v.begin(),v.end());
v.erase(unique(v.begin(),v.end()),v.end());
return v;
}
template<typename T>
map<T, int> dict(const vector<T> &v){
map<T, int> res;
for(int i=0;i<(int)v.size();i++)
res[v[i]]=i;
return res;
}
struct FastIO{
FastIO(){
cin.tie(0);
ios::sync_with_stdio(0);
}
}fastio_beet;
struct Precision{
Precision(){
cout<<fixed<<setprecision(12);
}
}precision_beet;
//INSERT ABOVE HERE
signed main(){
using ll = long long;
using D = double;
ll n,m;
cin>>n>>m;
vector<ll> p(m);
vector<D> a(m),b(m);
for(int i=0;i<m;i++) cin>>p[i]>>a[i]>>b[i];
auto v=compress(p);
auto r=dict(v);
using P = pair<D, D>;
auto f=[](P a,P b){
return P(a.first*b.first,b.first*a.second+b.second);
};
P ti(1,0);
SegmentTree<P> seg(f,ti);
seg.build(vector<P>(v.size()+1,ti));
D x=1,y=1;
for(int i=0;i<m;i++){
seg.set_val(r[p[i]],P(a[i],b[i]));
auto res=seg.query(0,v.size());
D z=res.first+res.second;
chmin(x,z);
chmax(y,z);
}
cout<<x<<endl<<y<<endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - タコヤキオイシクナール |
| User | beet |
| Language | C++14 (GCC 5.4.1) |
| Score | 100 |
| Code Size | 2203 Byte |
| Status | AC |
| Exec Time | 90 ms |
| Memory | 7808 KiB |
Judge Result
| Set Name | small | large | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 50 / 50 | 50 / 50 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| small | small/small_00_sample_01.txt, small/small_00_sample_02.txt, small/small_00_sample_03.txt, small/small_00_sample_04.txt, small/small_01_min.txt, small/small_01_nom.txt, small/small_01_rand_00.txt, small/small_01_rand_01.txt, small/small_01_rand_02.txt, small/small_01_rand_03.txt, small/small_01_rand_04.txt, small/small_01_rand_05.txt, small/small_01_rand_06.txt, small/small_01_rand_07.txt, small/small_01_rand_08.txt, small/small_01_rand_09.txt, small/small_02_maxrand_00.txt, small/small_02_maxrand_01.txt, small/small_02_maxrand_02.txt, small/small_02_maxrand_03.txt, small/small_02_maxrand_04.txt, small/small_02_maxrand_05.txt, small/small_02_maxrand_06.txt, small/small_02_maxrand_07.txt, small/small_02_maxrand_08.txt, small/small_02_maxrand_09.txt, small/small_03_smalln_00.txt, small/small_03_smalln_01.txt, small/small_03_smalln_02.txt, small/small_03_smalln_03.txt, small/small_03_smalln_04.txt, small/small_03_smalln_05.txt, small/small_03_smalln_06.txt, small/small_03_smalln_07.txt, small/small_03_smalln_08.txt, small/small_03_smalln_09.txt, small/small_04_allplus_00.txt, small/small_04_allplus_01.txt, small/small_04_allplus_02.txt, small/small_05_allminus_00.txt, small/small_05_allminus_01.txt, small/small_05_allminus_02.txt |
| large | small/small_00_sample_01.txt, small/small_00_sample_02.txt, small/small_00_sample_03.txt, small/small_00_sample_04.txt, small/small_01_min.txt, small/small_01_nom.txt, small/small_01_rand_00.txt, small/small_01_rand_01.txt, small/small_01_rand_02.txt, small/small_01_rand_03.txt, small/small_01_rand_04.txt, small/small_01_rand_05.txt, small/small_01_rand_06.txt, small/small_01_rand_07.txt, small/small_01_rand_08.txt, small/small_01_rand_09.txt, small/small_02_maxrand_00.txt, small/small_02_maxrand_01.txt, small/small_02_maxrand_02.txt, small/small_02_maxrand_03.txt, small/small_02_maxrand_04.txt, small/small_02_maxrand_05.txt, small/small_02_maxrand_06.txt, small/small_02_maxrand_07.txt, small/small_02_maxrand_08.txt, small/small_02_maxrand_09.txt, small/small_03_smalln_00.txt, small/small_03_smalln_01.txt, small/small_03_smalln_02.txt, small/small_03_smalln_03.txt, small/small_03_smalln_04.txt, small/small_03_smalln_05.txt, small/small_03_smalln_06.txt, small/small_03_smalln_07.txt, small/small_03_smalln_08.txt, small/small_03_smalln_09.txt, small/small_04_allplus_00.txt, small/small_04_allplus_01.txt, small/small_04_allplus_02.txt, small/small_05_allminus_00.txt, small/small_05_allminus_01.txt, small/small_05_allminus_02.txt, large/large_01_rand_00.txt, large/large_01_rand_01.txt, large/large_01_rand_02.txt, large/large_01_rand_03.txt, large/large_01_rand_04.txt, large/large_01_rand_05.txt, large/large_01_rand_06.txt, large/large_01_rand_07.txt, large/large_01_rand_08.txt, large/large_01_rand_09.txt, large/large_02_maxrand_00.txt, large/large_02_maxrand_01.txt, large/large_02_maxrand_02.txt, large/large_02_maxrand_03.txt, large/large_02_maxrand_04.txt, large/large_02_maxrand_05.txt, large/large_02_maxrand_06.txt, large/large_02_maxrand_07.txt, large/large_02_maxrand_08.txt, large/large_02_maxrand_09.txt, large/large_03_smalln_00.txt, large/large_03_smalln_01.txt, large/large_03_smalln_02.txt, large/large_03_smalln_03.txt, large/large_03_smalln_04.txt, large/large_03_smalln_05.txt, large/large_03_smalln_06.txt, large/large_03_smalln_07.txt, large/large_03_smalln_08.txt, large/large_03_smalln_09.txt, large/large_04_allplus_00.txt, large/large_04_allplus_01.txt, large/large_04_allplus_02.txt, large/large_05_allminus_00.txt, large/large_05_allminus_01.txt, large/large_05_allminus_02.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| large/large_01_rand_00.txt | AC | 26 ms | 2560 KiB |
| large/large_01_rand_01.txt | AC | 20 ms | 2176 KiB |
| large/large_01_rand_02.txt | AC | 82 ms | 7424 KiB |
| large/large_01_rand_03.txt | AC | 33 ms | 3456 KiB |
| large/large_01_rand_04.txt | AC | 54 ms | 4736 KiB |
| large/large_01_rand_05.txt | AC | 18 ms | 2048 KiB |
| large/large_01_rand_06.txt | AC | 35 ms | 3584 KiB |
| large/large_01_rand_07.txt | AC | 52 ms | 4608 KiB |
| large/large_01_rand_08.txt | AC | 72 ms | 6784 KiB |
| large/large_01_rand_09.txt | AC | 34 ms | 3584 KiB |
| large/large_02_maxrand_00.txt | AC | 88 ms | 7808 KiB |
| large/large_02_maxrand_01.txt | AC | 90 ms | 7808 KiB |
| large/large_02_maxrand_02.txt | AC | 89 ms | 7808 KiB |
| large/large_02_maxrand_03.txt | AC | 90 ms | 7808 KiB |
| large/large_02_maxrand_04.txt | AC | 89 ms | 7808 KiB |
| large/large_02_maxrand_05.txt | AC | 88 ms | 7808 KiB |
| large/large_02_maxrand_06.txt | AC | 88 ms | 7808 KiB |
| large/large_02_maxrand_07.txt | AC | 90 ms | 7808 KiB |
| large/large_02_maxrand_08.txt | AC | 88 ms | 7808 KiB |
| large/large_02_maxrand_09.txt | AC | 88 ms | 7808 KiB |
| large/large_03_smalln_00.txt | AC | 72 ms | 4608 KiB |
| large/large_03_smalln_01.txt | AC | 77 ms | 5248 KiB |
| large/large_03_smalln_02.txt | AC | 52 ms | 1920 KiB |
| large/large_03_smalln_03.txt | AC | 68 ms | 3456 KiB |
| large/large_03_smalln_04.txt | AC | 49 ms | 1792 KiB |
| large/large_03_smalln_05.txt | AC | 64 ms | 3072 KiB |
| large/large_03_smalln_06.txt | AC | 69 ms | 4224 KiB |
| large/large_03_smalln_07.txt | AC | 72 ms | 4608 KiB |
| large/large_03_smalln_08.txt | AC | 51 ms | 1920 KiB |
| large/large_03_smalln_09.txt | AC | 70 ms | 4224 KiB |
| large/large_04_allplus_00.txt | AC | 87 ms | 7808 KiB |
| large/large_04_allplus_01.txt | AC | 87 ms | 7808 KiB |
| large/large_04_allplus_02.txt | AC | 87 ms | 7808 KiB |
| large/large_05_allminus_00.txt | AC | 90 ms | 7808 KiB |
| large/large_05_allminus_01.txt | AC | 89 ms | 7808 KiB |
| large/large_05_allminus_02.txt | AC | 88 ms | 7808 KiB |
| small/small_00_sample_01.txt | AC | 1 ms | 256 KiB |
| small/small_00_sample_02.txt | AC | 1 ms | 256 KiB |
| small/small_00_sample_03.txt | AC | 1 ms | 256 KiB |
| small/small_00_sample_04.txt | AC | 1 ms | 256 KiB |
| small/small_01_min.txt | AC | 1 ms | 256 KiB |
| small/small_01_nom.txt | AC | 1 ms | 256 KiB |
| small/small_01_rand_00.txt | AC | 2 ms | 384 KiB |
| small/small_01_rand_01.txt | AC | 2 ms | 256 KiB |
| small/small_01_rand_02.txt | AC | 2 ms | 256 KiB |
| small/small_01_rand_03.txt | AC | 2 ms | 384 KiB |
| small/small_01_rand_04.txt | AC | 2 ms | 384 KiB |
| small/small_01_rand_05.txt | AC | 2 ms | 384 KiB |
| small/small_01_rand_06.txt | AC | 2 ms | 384 KiB |
| small/small_01_rand_07.txt | AC | 2 ms | 384 KiB |
| small/small_01_rand_08.txt | AC | 1 ms | 256 KiB |
| small/small_01_rand_09.txt | AC | 2 ms | 384 KiB |
| small/small_02_maxrand_00.txt | AC | 2 ms | 384 KiB |
| small/small_02_maxrand_01.txt | AC | 2 ms | 384 KiB |
| small/small_02_maxrand_02.txt | AC | 2 ms | 384 KiB |
| small/small_02_maxrand_03.txt | AC | 2 ms | 384 KiB |
| small/small_02_maxrand_04.txt | AC | 2 ms | 384 KiB |
| small/small_02_maxrand_05.txt | AC | 2 ms | 384 KiB |
| small/small_02_maxrand_06.txt | AC | 2 ms | 384 KiB |
| small/small_02_maxrand_07.txt | AC | 2 ms | 384 KiB |
| small/small_02_maxrand_08.txt | AC | 2 ms | 384 KiB |
| small/small_02_maxrand_09.txt | AC | 2 ms | 384 KiB |
| small/small_03_smalln_00.txt | AC | 2 ms | 384 KiB |
| small/small_03_smalln_01.txt | AC | 2 ms | 384 KiB |
| small/small_03_smalln_02.txt | AC | 2 ms | 256 KiB |
| small/small_03_smalln_03.txt | AC | 2 ms | 256 KiB |
| small/small_03_smalln_04.txt | AC | 2 ms | 384 KiB |
| small/small_03_smalln_05.txt | AC | 2 ms | 384 KiB |
| small/small_03_smalln_06.txt | AC | 2 ms | 256 KiB |
| small/small_03_smalln_07.txt | AC | 2 ms | 256 KiB |
| small/small_03_smalln_08.txt | AC | 2 ms | 384 KiB |
| small/small_03_smalln_09.txt | AC | 2 ms | 256 KiB |
| small/small_04_allplus_00.txt | AC | 2 ms | 384 KiB |
| small/small_04_allplus_01.txt | AC | 2 ms | 384 KiB |
| small/small_04_allplus_02.txt | AC | 2 ms | 384 KiB |
| small/small_05_allminus_00.txt | AC | 2 ms | 384 KiB |
| small/small_05_allminus_01.txt | AC | 2 ms | 384 KiB |
| small/small_05_allminus_02.txt | AC | 2 ms | 384 KiB |