답안 #79731

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
79731 2018-10-15T17:11:08 Z KLPP Relativnost (COCI15_relativnost) C++14
42 / 140
1266 ms 33792 KB
#include<iostream>
#include<algorithm>
#include<vector>

using namespace std;
typedef long long int lld;
#define MOD 10007
int n,c;
lld Segtree[400000][30];
lld A[100000];
lld B[100000];
void build(int a, int b, int node){
	if(a==b){
		for(int i=0;i<=c;i++){
			Segtree[node][i]=0;
		}
		Segtree[node][0]=B[a];
		Segtree[node][1]=A[a];
		return;
	}
	int mid=(a+b)/2;
	build(a,mid,2*node);
	build(mid+1,b,2*node+1);
	for(int i=0;i<=c;i++){
		Segtree[node][i]=0;
	}
	for(int i=0;i<=c;i++){
		for(int j=0;j<=c;j++){
			Segtree[node][min(i+j,c)]+=Segtree[2*node][i]*Segtree[2*node+1][j];
			Segtree[node][min(i+j,c)]%=MOD;
		}
	}
}
void update(int a,int b, int node, int x){
	//cout<<a<<" "<<b<<endl;
	if(x<a || b<x)return;
	if(a==b){
		for(int i=0;i<=c;i++){
			Segtree[node][i]=0;
		}
		Segtree[node][0]=B[a];
		Segtree[node][1]=A[a];
		return;
	}
	int mid=(a+b)/2;
	update(a,mid,2*node,x);
	update(mid+1,b,2*node+1,x);
	for(int i=0;i<=c;i++){
		Segtree[node][i]=0;
	}
	for(int i=0;i<=c;i++){
		for(int j=0;j<=c;j++){
			Segtree[node][min(i+j,c)]+=Segtree[2*node][i]*Segtree[2*node+1][j];
			Segtree[node][min(i+j,c)]%=MOD;
		}
	}
}

int main(){
	cin>>n>>c;
	for(int i=0;i<n;i++)cin>>A[i];
	for(int i=0;i<n;i++)cin>>B[i];
	build(0,n-1,1);
	int q;
	cin>>q;
	while(q--){
		int x;
		cin>>x;
		x--;
		lld y,z;
		cin>>y>>z;
		A[x]=y;
		B[x]=z;
		update(0,n-1,1,x);
		cout<<Segtree[1][c]<<endl;
	}
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 14 ms 892 KB Output is correct
2 Correct 18 ms 996 KB Output is correct
3 Correct 32 ms 1016 KB Output is correct
4 Runtime error 738 ms 33792 KB Memory limit exceeded: We have a known bug that the memory usage is measured incorrectly (possibly because of Meltdown/Spectre patch), so your solution may be correct. Please submit again. Sorry for the inconvenience.
5 Runtime error 172 ms 33792 KB Execution killed with signal 9 (could be triggered by violating memory limits)
6 Runtime error 201 ms 33792 KB Execution killed with signal 9 (could be triggered by violating memory limits)
7 Runtime error 1266 ms 33792 KB Memory limit exceeded: We have a known bug that the memory usage is measured incorrectly (possibly because of Meltdown/Spectre patch), so your solution may be correct. Please submit again. Sorry for the inconvenience.
8 Runtime error 151 ms 33792 KB Execution killed with signal 9 (could be triggered by violating memory limits)
9 Runtime error 125 ms 33792 KB Execution killed with signal 9 (could be triggered by violating memory limits)
10 Runtime error 203 ms 33792 KB Execution killed with signal 9 (could be triggered by violating memory limits)