Submission #826881

#TimeUsernameProblemLanguageResultExecution timeMemory
826881Sohsoh84Distributing Candies (IOI21_candies)C++17
38 / 100
5065 ms7460 KiB
    #pragma GCC optimize("O3")
    #pragma GCC optimize("unroll-loops")
    #pragma GCC target("avx2")
     
    #include "candies.h"
    #include <bits/stdc++.h>
     
    using namespace std;
     
    const int MAXN = 2e5;
    const int T = 500;
     
    int A[MAXN];
     
    vector<int> distribute_candies(vector<int> c, vector<int> l, vector<int> r, vector<int> v) {
        	int q = l.size(), n = c.size();
    	vector<int> A(n, 0);
    	for (int s = 0; s < MAXN; s += T) {
    		int fl = s, fr = s + T - 1;
     
    		for (int i = 0; i < q; i++) {
    			int tl = (fl > l[i] ? fl : l[i]);
    			int tr = (fr < r[i] ? fr : r[i]);
    			if (v[i] >= 0) {
    				for (int j = tl; j <= tr; j++) {
    					A[j] = (A[j] + v[i] >= c[j] ? c[j] : A[j] + v[i]);	
    				}
    			} else {
    				for (int j = tl; j <= tr; j++) {
    					A[j] = (A[j] + v[i] >= 0 ? A[j] + v[i] : 0);
    				}
    			}
    		}
    	}
     
    	return A;
    }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...