Submission #780932


Source Code Expand

#include <bits/stdc++.h>
#define rep(i,n) for(int i=0;i<(int)(n);i++)
#define rep1(i,n) for(int i=1;i<=(int)(n);i++)
#define all(c) c.begin(),c.end()
#define pb push_back
#define fs first
#define sc second
#define show(x) cout << #x << " = " << x << endl
#define chmin(x,y) x=min(x,y)
#define chmax(x,y) x=max(x,y)
using namespace std;
template<class S,class T> ostream& operator<<(ostream& o,const pair<S,T> &p){return o<<"("<<p.fs<<","<<p.sc<<")";}
template<class T> ostream& operator<<(ostream& o,const vector<T> &vc){o<<"sz = "<<vc.size()<<endl<<"[";for(const T& v:vc) o<<v<<",";o<<"]";return o;}
typedef long long ll;
vector<int> ts[500000];
vector<int> ev[500010];
int N,M[500000],T,it[500000];
ll w[500000];
ll inf=1e18;
struct starryskytree{
	static const int N=1<<19;
	ll mx[N*2],ad[N*2];
	starryskytree(){
		rep(i,N*2) ad[i]=0,mx[i]=0;
	}
	void add(int a,int b,ll v,int l=0,int r=N,int k=1){
		if(b<=l||r<=a) return;
		if(a<=l&&r<=b){
			ad[k]+=v;
			return;
		}
		add(a,b,v,l,(l+r)/2,k*2);
		add(a,b,v,(l+r)/2,r,k*2+1);
		mx[k]=max(mx[k*2]+ad[k*2],mx[k*2+1]+ad[k*2+1]);
	}
	ll getmax(int a,int b,int l=0,int r=N,int k=1){
		if(b<=l||r<=a) return -inf;
		if(a<=l&&r<=b) return mx[k]+ad[k];
		return ad[k]+max(getmax(a,b,l,(l+r)/2,k*2),getmax(a,b,(l+r)/2,r,k*2+1));
	}
}seg;
int main(){
	cin>>N;
	rep(i,N) cin>>w[i];
	rep(i,N){
		int M;
		cin>>M;
		ts[i].pb(0);
		ev[0].pb(i);
		rep(j,M){
			int t;
			cin>>t;
			t/=2;
			chmax(T,t);
			ts[i].pb(t);
			ev[t].pb(i);
		}
	}
	rep(i,N) it[i]=1;
	ll ans=0;
	rep1(i,T){
//		show(i);
		for(int v:ev[i]){
			seg.add(ts[v][it[v]-1],ts[v][it[v]],w[v]);
//			printf("add:%d,%d, w[v]=%d\n",ts[v][it[v]-1],ts[v][it[v]],w[v]);
			it[v]++;
		}
		ll tmp=seg.getmax(0,i);
//		show(tmp);
		seg.add(i,i+1,tmp);
		chmax(ans,tmp);
	}
	cout<<ans<<endl;
}

Submission Info

Submission Time
Task D - サケノミ
User sigma425
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1867 Byte
Status AC
Exec Time 2000 ms
Memory 73456 KB

Judge Result

Set Name Sample Subtask0 All
Score / Max Score 0 / 0 30 / 30 70 / 70
Status
AC × 4
AC × 14
AC × 20
Set Name Test Cases
Sample sample0.txt, sample1.txt, sample2.txt, sample3.txt
Subtask0 subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, sample0.txt, sample1.txt, sample2.txt, sample3.txt
All subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, subtask1_0.txt, subtask1_1.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt
Case Name Status Exec Time Memory
sample0.txt AC 65 ms 40064 KB
sample1.txt AC 65 ms 40064 KB
sample2.txt AC 65 ms 40064 KB
sample3.txt AC 65 ms 40064 KB
subtask0_0.txt AC 314 ms 44160 KB
subtask0_1.txt AC 303 ms 44160 KB
subtask0_2.txt AC 305 ms 44160 KB
subtask0_3.txt AC 305 ms 44032 KB
subtask0_4.txt AC 306 ms 44032 KB
subtask0_5.txt AC 225 ms 42112 KB
subtask0_6.txt AC 223 ms 42112 KB
subtask0_7.txt AC 226 ms 42112 KB
subtask0_8.txt AC 283 ms 43776 KB
subtask0_9.txt AC 286 ms 43776 KB
subtask1_0.txt AC 2000 ms 73456 KB
subtask1_1.txt AC 1991 ms 73456 KB
subtask1_2.txt AC 1436 ms 56184 KB
subtask1_3.txt AC 1437 ms 56184 KB
subtask1_4.txt AC 1285 ms 54396 KB
subtask1_5.txt AC 1293 ms 54524 KB
subtask1_6.txt AC 1297 ms 54396 KB
subtask1_7.txt AC 1168 ms 53376 KB
subtask1_8.txt AC 1178 ms 53376 KB
subtask1_9.txt AC 1152 ms 52992 KB