Skip to main content

Posts

Blueberries

                                                                  Blueberries                                                                           DP Problem Link #include <iostream> #include<cstring> using namespace std; const int MAX = 1005; int main() {     int t, n, k;     int dp[MAX][MAX];     int raspBerries[MAX];     cin >> t;     int s = 1;     while(s <= t)     {         cin >> n >> k;         for(int i = 0; i < n; i++)       ...

BLAST

                                                                          BLAST dp Problem Link #include <cstdio> #include <cmath> #include <algorithm> #include <cstring> using namespace std; const int MAX_LEN = 2013; char A[MAX_LEN], B[MAX_LEN]; int DP[MAX_LEN][MAX_LEN], K; int main() {     int a, b;     scanf("%s %s %i", A, B, &K);     a = strlen(A);     b = strlen(B);         for (int i = 0; i <= a; ++i) {         DP[i][0] = K * i;     }     for (int j = 0; j <= b; ++j) {         DP[0][j] = K * j;     }     for (int i = 1; i <= a; ++i) {         for (int j = 1; j <= b; ++...

Watching Video

                            Watching Video                                                                   binary search Problem Link #include <iostream> using namespace std; long n, d; long arr[1000001]; bool func(int t) {     long long tmp=0;     for(int i=1;i<=t;i++)         tmp+=arr[i];     t++;          while(tmp>=d && t < n+1) {         if(tmp <d)             return false;         tmp -= d;         tmp+=arr[t];         t++;     }          if(t==n+1)       ...

Round Table Meeting

                          Round Table Meeting Problem Link #include <iostream> #include <cmath> #include <climits> using namespace std; int main() {     int n, q;     int x, y;     cin >> n >> q;     int arr[2 * n + 1];     for(int i = 1; i <= n; i++)     {         cin >> arr[i];         arr[i + n] = arr[i];     }     for(int k = 0; k < q; k++)     {         cin >> x >> y;         int dist = INT_MAX;         int minDist = INT_MAX;         int posx = -1;         int posy = -1;                 if(x == y)         {           ...

Architect's Dilemma..!

                                     Architect's Dilemma..!                                                                     Binary Search Problem Link #include <iostream> #include <algorithm> using namespace std; typedef long long ll; ll n, w, a[100005], pre[100005], maxx[100005]; bool f(int x) {     for(int i = 0, j = x; j <= n; j++, i++)     {         if((x * maxx[j] - (pre[j] - pre[i])) <= w)             return 1;     }     return 0; } int main() {     cin >> n >> w;     for(int i = 1; i <= n; i++)       ...

Moving to New Office

                      Moving to New Office                                   DP Problem Link #include <iostream> #define INF 99999999 using namespace std; int main() {     int t, x, y, n;     int m[100];     long dp[101][101];     cin >> t;     while(t--)     {         cin >> x >> y;         cin >> n;         for(int i = 0; i < n; i++)         {             cin >> m[i];         }         for(int i = 0; i < n; i++)         {             for(int j = 0; j < n; j++)        ...

Numbers II

                                Numbers II                                               Binary Search Program Link #include <iostream> #include <algorithm> using namespace std; typedef long long ll; ll findTerm(ll a, ll b, ll lcm, ll value) {     return (value / a) + (value / b) - (value / lcm); } ll  solve(ll a, ll b, ll n) {     ll gcd  = __gcd(a,b);     ll lcm = (a * b) / gcd;     ll rema = lcm / a;     ll remb = lcm / b;     ll low = (n / (rema + remb - 1))  * lcm;     ll high = min(a, b) * n;     ll ans;     while(low <= high)     {         ll mid = (low + high) / 2;   ...