답안 #1084318

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1084318 2024-09-05T20:35:41 Z 4QT0R Job Scheduling (CEOI12_jobs) C++17
100 / 100
178 ms 17232 KB
#include <bits/stdc++.h>
using namespace std;

int zle[100003];
pair<int,int> wej[1000003];

int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);

	int n,d,m;
	cin >> n >> d >> m;
	for (int i = 1; i<=m; i++){
		cin >> wej[i].first;
		zle[wej[i].first]++;
		wej[i].second=i;
	}
	sort(wej+1,wej+m+1);
	int l=1,p=m,md;
	while(l<p){
		md=(l+p)/2;
		bool ok=true;
		int ind=1;
		for (int i = 1; i<=n; i++){
			for (int j = 1; j<=md; j++){
				if (ind>m || wej[ind].first>i)break;
				ind++;
			}
			if (ind<=m && (wej[ind].first+d)<=i){
				ok=false;
				break;
			}
		}
		if (ok)p=md;
		else l=md+1;
	}
	cout << l << '\n';
	int ind=1;
	for (int i = 1; i<=n; i++){
		for (int j = 1; j<=l; j++){
			if (ind>m || wej[ind].first>i)break;
			cout << wej[ind].second << ' ';
			ind++;
		}
		cout << "0\n";
	}
}
# 결과 실행 시간 메모리 Grader output
1 Correct 13 ms 2140 KB Output is correct
2 Correct 12 ms 2136 KB Output is correct
3 Correct 12 ms 2140 KB Output is correct
4 Correct 12 ms 2136 KB Output is correct
5 Correct 12 ms 2140 KB Output is correct
6 Correct 12 ms 2136 KB Output is correct
7 Correct 12 ms 2140 KB Output is correct
8 Correct 19 ms 2136 KB Output is correct
9 Correct 22 ms 2260 KB Output is correct
10 Correct 21 ms 2248 KB Output is correct
11 Correct 19 ms 2140 KB Output is correct
12 Correct 38 ms 3924 KB Output is correct
13 Correct 56 ms 5712 KB Output is correct
14 Correct 80 ms 8020 KB Output is correct
15 Correct 95 ms 9556 KB Output is correct
16 Correct 122 ms 12112 KB Output is correct
17 Correct 141 ms 13920 KB Output is correct
18 Correct 157 ms 15128 KB Output is correct
19 Correct 178 ms 17232 KB Output is correct
20 Correct 143 ms 13988 KB Output is correct