Submission #470208

#TimeUsernameProblemLanguageResultExecution timeMemory
470208Cross_Ratio팀들 (IOI15_teams)C++14
Compilation error
0 ms0 KiB
#include "teams.h"
#include <bits/stdc++.h>
using namespace std;
int N;
int A[100005];
int B[100005];
int C[100005];
int C1[100005];
vector<vector<int> > ind;
void init(int _N, int _A[], int _B[]) {
    N = _N;
    ind.resize(N+1);
    int i;
    for(i=0;i<N;i++) A[i] = _A[i];
    for(i=0;i<N;i++) B[i] = _B[i];
    for(i=0;i<N;i++) C[B[i]]++;
    for(i=0;i<N;i++) {
        ind[A[i]].push_back(B[i]);
    }
}
int D[100005];
int can(int M, int K[]) {
    int sum = 0;
	memset(D, 0, sizeof(D));
	int i;
	for(i=1;i<=N;i++) C1[i] = C[i];
	for(i=0;i<M;i++) sum += K[i];
	if(sum > N) return 0;
	for(i=0;i<M;i++) D[K[i]]++;
	multiset<int> S;
	iterator::multiset<int> iter;
	int cnt = 0;
	for(i=1;i<=N;i++) {
        for(int n : ind[i]) {
            S.insert(n);
            cnt++;
        }
        if(cnt > i * D[i]) return 0;
        iter = S.begin();
        int del = i * D[i];
        while(del) {
            if(S.count(iter) == 1) {
                auto iter2 = iter++;
                del--;
                C1[*iter]--;
                S.erase(iter);
                iter = iter2;
                cnt--;
            }
            else {
                S.erase(iter);
                del--;
                C1[*iter]--;
                cnt--;
            }
        }
        for(int j=0;j<C1[i];j++) {
            S.erase(S.find(i));
            cnt--;
        }
	}
	return 1;
}

Compilation message (stderr)

teams.cpp: In function 'int can(int, int*)':
teams.cpp:31:2: error: 'template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator' used without template arguments
   31 |  iterator::multiset<int> iter;
      |  ^~~~~~~~
teams.cpp:31:21: error: expected primary-expression before 'int'
   31 |  iterator::multiset<int> iter;
      |                     ^~~
teams.cpp:39:9: error: 'iter' was not declared in this scope
   39 |         iter = S.begin();
      |         ^~~~