Loading...
Submission
# When Author Problem Language CPU Memory
20891 2024-06-29 10:19:35 Muntasir_Mahmud The Picky Penguins' Party C 8 ms 1512 kb Accepted
Test Cases
# CPU Memory Points
1 0 ms 1496 kb 1 Accepted
2 2 ms 1512 kb 1 Accepted
3 1 ms 1500 kb 1 Accepted
4 1 ms 1432 kb 1 Accepted
5 8 ms 1468 kb 1 Accepted
Source Code
  1. #include <stdio.h>
  2. #include <stdbool.h>
  3. #include <stdlib.h>
  4.  
  5. void penguin_party(int T) {
  6. for (int t = 0; t < T; t++) {
  7. int N;
  8. scanf("%d", &N);
  9. int* A = (int*)malloc(N * sizeof(int));
  10. long long total_sum = 0;
  11.  
  12. for (int i = 0; i < N; i++) {
  13. scanf("%d", &A[i]);
  14. total_sum += A[i];
  15. }
  16.  
  17. if (total_sum % 2 != 0) {
  18. printf("Party's Cancelled\n");
  19. free(A);
  20. continue;
  21. }
  22.  
  23. long long target_sum = total_sum / 2;
  24. bool* dp = (bool*)calloc(target_sum + 1, sizeof(bool));
  25. dp[0] = true;
  26.  
  27. for (int i = 0; i < N; i++) {
  28. for (long long j = target_sum; j >= A[i]; j--) {
  29. if (dp[j - A[i]]) {
  30. dp[j] = true;
  31. }
  32. }
  33. }
  34.  
  35. if (dp[target_sum]) {
  36. printf("Party Time!\n");
  37. } else {
  38. printf("Party's Cancelled\n");
  39. }
  40.  
  41. free(dp);
  42. free(A);
  43. }
  44. }
  45.  
  46. int main() {
  47. int T;
  48. scanf("%d", &T);
  49. penguin_party(T);
  50. return 0;
  51. }
  52.