Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // div2 easy
- import java.util.Arrays;
- public class Quorum {
- public int count(int[] arr, int k) {
- Arrays.sort(arr);
- int ans = 0;
- for (int i = 0; i < k; i++) ans += arr[i];
- return ans;
- }
- }
- // div2 med
- public class Quacking {
- public int quack(String s) {
- int[] arr = new int[5];
- for (int i = 0; i < s.length(); i++) {
- int idx = quack.indexOf(s.charAt(i));
- if (arr[(idx+4)%5] > 0) arr[(idx+4)%5] -= 1;
- else if (idx != 0) return -1;
- arr[idx]++;
- }
- for (int i = 0; i < 4; i++) if (arr[i] > 0) return -1;
- return arr[4];
- }
- }
- // div2 hard
- public class Queueing {
- public double probFirst(int len1, int len2, int p1, int p2) {
- double[][] dp = new double[len1+1][len2+1];
- for (int i = 1; i <= len2; i++) dp[0][i] = 1.0;
- double q1 = 1./p1, q2 = 1./p2;
- for (int i = 1; i <= len1; i++) {
- for (int j = 1; j <= len2; j++) {
- dp[i][j] = (dp[i-1][j]*q1*(1-q2) + dp[i][j-1]*(1-q1)*q2
- + dp[i-1][j-1]*q1*q2) / (1 - (1-q1)*(1-q2));
- if (dp[i][j] < 1e-20) dp[i][j] = 0;
- }
- }
- return dp[len1][len2];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment