제출 #66289

#제출 시각아이디문제언어결과실행 시간메모리
66289ikura355Job Scheduling (CEOI12_jobs)C++14
15 / 100
374 ms20908 KiB
#include<bits/stdc++.h>
using namespace std;

#define ll long long
#define pii pair<ll,int>
#define X first
#define Y second

const int maxn = 1e6 + 5;

ll n,d,m;
pii a[maxn];

bool check(ll num) {
    if(num*n < m) return 0;
	for(ll day=0;day<n;day++) {
		for(ll i=day*num;i<min((ll)m,(day+1)*num);i++) {
			if(a[i].X+d<day) return 0;
		}
	}
	return 1;
}

int main() {
	scanf("%lld%lld%lld",&n,&d,&m);
	for(int i=0;i<m;i++) scanf("%lld",&a[i].X), a[i].Y = i+1;
	sort(&a[0],&a[m]);
	int l = 0, r = m, mid, res = -1;
	while(l<=r) {
		mid = (l+r)/2;
		if(check(mid)) {
			res = mid;
			r = mid-1;
		}
		else l = mid+1;
	}
	printf("%d\n",res);
	for(ll day=0;day<n;day++) {
		for(ll i=day*res;i<min((ll)m,(day+1)*res);i++) {
            printf("%d ",a[i].Y);
		}
		printf("0\n");
	}
}

컴파일 시 표준 에러 (stderr) 메시지

jobs.cpp: In function 'int main()':
jobs.cpp:25:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld%lld%lld",&n,&d,&m);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
jobs.cpp:26:44: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(int i=0;i<m;i++) scanf("%lld",&a[i].X), a[i].Y = i+1;
                       ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...