답안 #28747

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
28747 2017-07-16T13:50:50 Z rondojim Ice Hockey World Championship (CEOI15_bobek) C++14
0 / 100
486 ms 13548 KB
#include <stdio.h>
#include <vector>
#include <algorithm>
 
using namespace std;
 
const int MAXN = 40;
 
typedef long long ll;
 
ll N, K, A[MAXN], result;
 
int main(){
#ifdef DEBUG
  freopen("input.txt", "r", stdin);
#endif
  scanf("%lld %lld", &N, &K);
  for(int i=0; i<N; ++i) scanf("%lld", &A[i]);
  int middle = N / 2, remain = N - N / 2;
  vector<ll> sums;
  for(int bitm=0; bitm<(1<<middle); ++bitm){
    ll sum = 0;
    for(int i=0; i<middle; ++i) if(bitm & (1<<i)) sum += A[i];
    sums.push_back(sum);
  }
  sort(sums.begin(), sums.end());
  for(int bitm=0; bitm<(1<<remain); ++bitm){
    ll sum = 0;
    for(int i=0; i<remain; ++i) if(bitm & (1<<i)) sum += A[middle + i];
    int lo = 0, hi = sums.size() - 1, res = -1, mid;
    while(lo <= hi){
      mid = (lo + hi)>>1;
      if(sums[mid] + sum < K) lo = mid + 1;
      else res = mid, hi = mid - 1;
    }
    if(res != -1) result += sums.size() - res;
  }
  printf("%lld\n", result);
  return 0;
}

Compilation message

bobek.cpp: In function 'int main()':
bobek.cpp:17:29: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld %lld", &N, &K);
                             ^
bobek.cpp:18:46: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   for(int i=0; i<N; ++i) scanf("%lld", &A[i]);
                                              ^
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 1176 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 1176 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 1176 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 1176 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 36 ms 2028 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 53 ms 2796 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 83 ms 2796 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 433 ms 7404 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 33 ms 2028 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 486 ms 13548 KB Output isn't correct
2 Halted 0 ms 0 KB -