The League of Legends Championship series (LCS) is the top degree of professional League of Legends in the unite state and Canada. The America government grants athlete visas for foreign LCS rivals. In late 2018, the European League of Legends Championship series (EU LCS) was renamed to the League of Legends European Championship (LEC) and the North American League of Legends Championship series (NA LCS) dropped" North American" from its name. Riot game announced the formation of the LCS on August 6, 2012, make a fully professional league work by the company with a regular schedule and guaranteed salaries for players, feature eight teams in both North America and Europe. At the end of the 2014 season, an expansion tournament was hold in both Europe and North America that added two teams in region, give the LCS a amount of 10 teams per region for the start of the 2015 Season.

COMING SOON!

```
//
// Dynamic Programming C/C++ implementation of LCS problem
//
// The All â–²lgorithms library for python
//
// https://allalgorithms.com/dynamic-programming/
// https://github.com/allalgorithms/cpp
//
// Contributed by: Unknown
// Github: Unknown
//
#include<bits/stdc++.h>
int max(int a, int b);
/* Returns length of LCS for X[0..m-1], Y[0..n-1] */
int lcs( char *X, char *Y, int m, int n )
{
int L[m+1][n+1];
int i, j;
/* Following steps build L[m+1][n+1] in bottom up fashion. Note
that L[i][j] contains length of LCS of X[0..i-1] and Y[0..j-1] */
for (i=0; i<=m; i++)
{
for (j=0; j<=n; j++)
{
if (i == 0 || j == 0)
L[i][j] = 0;
else if (X[i-1] == Y[j-1])
L[i][j] = L[i-1][j-1] + 1;
else
L[i][j] = max(L[i-1][j], L[i][j-1]);
}
}
/* L[m][n] contains length of LCS for X[0..n-1] and Y[0..m-1] */
return L[m][n];
}
/* Utility function to get max of 2 integers */
int max(int a, int b)
{
return (a > b)? a : b;
}
/* Driver program to test above function */
int main()
{
char X[] = "AGGTAB";
char Y[] = "GXTXAYB";
int m = strlen(X);
int n = strlen(Y);
cout << "Length of LCS is " << lcs( X, Y, m, n ) ;
return 0;
}
```