답안 #830018

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
830018 2023-08-18T17:37:37 Z OAleksa 쌀 창고 (IOI11_ricehub) C++14
0 / 100
1000 ms 1472 KB
#include <bits/stdc++.h>
#include "ricehub.h"
#define f first
#define s second
using namespace std; 

int besthub(int R, int L, int X[], long long B)
{
  	int n = R;
  	int a[n];
  	for(int i = 0;i < n;i++)
  		a[i] = X[i];
	int ans = 0;
	for(int i = 1;i <= L;i++) {
		set<int> st;
		for(int j = 0;j < n;j++)
			st.insert(abs(a[j] - i));
		int res = 0;
		long long t = 0;
		for(auto x : st) {
			if(t + x <= B) {
				t += x;
				++res;
			}
			else
				break;
		}
		ans = max(ans, res);
	}
	return ans;
  	// set<int> levo, desno;
  	// long long t = 0;
  	// desno.insert(0);
  	// for(int i = 1;i < n;i++) {	
  		// if(t + a[i] - a[0] <= B) {
  			// desno.insert(i);
  			// t += a[i] - a[0];
  			// ++ans;
  		// }
  	// }
  	// for(int i = 1;i < n;i++) {
  		// t -= ((int)desno.size() - 1) * (a[i] - a[i - 1]);
  		// t += ((int)levo.size() + 1) * (a[i] - a[i - 1]);
  		// if(desno.size() > 0)
  			// desno.erase(desno.begin());
  		// desno.insert(i);
  		// levo.insert(i - 1);
  		// while(levo.size() > 0 && t > B) {
  			// int x = *levo.begin();
  			// t -= (a[i] - a[x]);
  			// levo.erase(levo.begin());
  		// }
  		// int j = *--desno.end() + 1;
  		// while(j < n) {
  			// if(t + a[j] - a[i] <= B) {
  				// t += a[j] - a[i];
  				// desno.insert(j++);
  			// }
  			// else	
  				// break;
  		// }
  		// while(j < n && levo.size() > 0) {
  			// int x = *levo.begin();
  			// if(t - (a[i] - a[x]) + a[j] - a[i] <= B) {
  				// t =  t - (a[i] - a[x]) + a[j] - a[i];
  				// levo.erase(levo.begin());
  				// desno.insert(a[j++]);
  			// }
  			// else
  				// break;
  		// }
  		// ans = max(ans, (int)levo.size() + (int)desno.size());
  	// }
  	// return ans;
}

// signed main()
// {
	// ios_base::sync_with_stdio(false);
	// cin.tie(0);
	// cout.tie(0);
	// int tt = 1;
	// //cin >> tt;
	// while(tt--) {
		 // int n, k;
		 // long long x;
		 // cin >> n >> k >> x;
		 // int a[n];
		 // for(int i = 0;i < n;i++)
		 	// cin >> a[i];
		// cout << besthub(n, k, a, x);
	// }
   // return 0;
// }
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 308 KB Output is correct
4 Incorrect 1 ms 212 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 0 ms 312 KB Output is correct
3 Correct 1 ms 308 KB Output is correct
4 Correct 1 ms 308 KB Output is correct
5 Correct 3 ms 212 KB Output is correct
6 Correct 4 ms 316 KB Output is correct
7 Correct 4 ms 212 KB Output is correct
8 Correct 4 ms 212 KB Output is correct
9 Incorrect 0 ms 212 KB Output isn't correct
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 61 ms 312 KB Output is correct
2 Correct 59 ms 212 KB Output is correct
3 Execution timed out 1096 ms 340 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1074 ms 1472 KB Time limit exceeded
2 Halted 0 ms 0 KB -