| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 393536 | gouravkhunger | Garage (IOI09_garage) | C++14 | 2 ms | 460 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define int long long
typedef vector<int> vi;
#define FOR(i, a, b) for (int i=a; i<=b; i++)
#define FIO ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
signed main() {
	FIO;
    //start here
    
    int n, m, x, ans = 0;
    cin>>n>>m;
    
    vi slot(n), weight(m);
    bool occ[n];
    queue<int> waiting;
    map<int, int> where;
	FOR(i, 0, n-1) occ[i] = false;
	
	int mn = 0;
    FOR(i, 0, n-1) cin>>slot[i];
    FOR(i, 0, m-1) cin>>weight[i];
    
    m*=2;
    while(m--){
    	cin>>x;
    	
    	if(x>0){
    		x--;
    		waiting.push(x);
    	} else {    		
    		x = abs(x);
    		x--;
    		
    		occ[where[x]] = false;
    		where[x] = -1;
    	}
    	
   		FOR(i, 0, n-1) {
   			if(!occ[i]) {
   				mn = i;
   				break;
   			} else mn = INT_MAX;
		}
   		
    	if(!waiting.empty()){
    		if(mn == INT_MAX) continue;
    		int add = (slot[mn]*weight[waiting.front()]);
	   		ans+=add;
    		
    		where[waiting.front()] = mn;
    		
    		occ[mn] = true;
    		waiting.pop();
    	}
    	
    }
    
    cout<<ans;
    //end here
    return 0;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
