Loading...
Submission
# When Author Problem Language CPU Memory
20828 2024-06-09 09:03:56 AHAMMED_99 Play Shots Wisely! C 6 ms 1516 kb Accepted
Test Cases
# CPU Memory Points
1 0 ms 1364 kb 1 Accepted
2 0 ms 1512 kb 1 Accepted
3 1 ms 1456 kb 1 Accepted
4 2 ms 1452 kb 1 Accepted
5 6 ms 1500 kb 1 Accepted
6 2 ms 1412 kb 1 Accepted
7 2 ms 1364 kb 1 Accepted
8 3 ms 1516 kb 1 Accepted
9 4 ms 1368 kb 1 Accepted
10 2 ms 1492 kb 1 Accepted
Source Code
  1. #include <stdio.h>
  2. #include <limits.h>
  3.  
  4. #define MAX_SCORE 10004
  5.  
  6. // Function to compute the minimum shots required to reach the target
  7. int minShots(int shots[], int n, int target) {
  8. int dp[MAX_SCORE];
  9. for (int i = 0; i <= target; i++) {
  10. dp[i] = INT_MAX;
  11. }
  12. dp[0] = 0;
  13.  
  14. for (int i = 0; i < n; i++) {
  15. for (int j = shots[i]; j <= target; j++) {
  16. if (dp[j - shots[i]] != INT_MAX) {
  17. dp[j] = dp[j] < dp[j - shots[i]] + 1 ? dp[j] : dp[j - shots[i]] + 1;
  18. }
  19. }
  20. }
  21.  
  22. return dp[target];
  23. }
  24.  
  25. int main() {
  26. int n, target;
  27. scanf("%d", &n);
  28.  
  29. int aus_shots[n];
  30. int ind_shots[n];
  31.  
  32. for (int i = 0; i < n; i++) {
  33. scanf("%d", &aus_shots[i]);
  34. }
  35.  
  36. for (int i = 0; i < n; i++) {
  37. scanf("%d", &ind_shots[i]);
  38. }
  39.  
  40. scanf("%d", &target);
  41.  
  42. int aus_min_shots = minShots(aus_shots, n, target);
  43. int ind_min_shots = minShots(ind_shots, n, target);
  44.  
  45. if (aus_min_shots < ind_min_shots) {
  46. printf("Australia\n");
  47. } else if (ind_min_shots < aus_min_shots) {
  48. printf("India\n");
  49. } else {
  50. printf("Draw\n");
  51. }
  52.  
  53. return 0;
  54. }
  55.