AOJ 0286 - Computation of Salary
やるだけやなあと思ったら,範囲外参照.
解法
記録の数が50,000件以下なので,記録についてループを書けばいい.
コード
S,T,Eのサイズを50,000にすると,範囲外参照でWAが生えます.ナニソレイミワカンナイ.
#include <cstdio> #include <cstring> int main(){ int N, M; scanf("%d %d", &N, &M); int S[50001], T[50001], E[50001], s_size; for(s_size=0;scanf("%d %d %d", S+s_size, T+s_size, E+s_size), S[s_size]||T[s_size]||E[s_size];s_size++){ S[s_size]--; T[s_size]--; } int L; scanf("%d", &L); int B[10000], C[10000]; while(L--){ memset(C, 0, sizeof(C)); for(int i=0;i<M;i++){ scanf("%d", B+i); } for(int i=0;i<s_size;i++){ C[S[i]] += B[T[i]] * E[i]; } for(int i=0;i<N;i++){ printf("%d%c", C[i], " \n"[i==N-1]); } } }