Pagini recente » preoni-2005/runda-3 | Cod sursa (job #2844784) | Cod sursa (job #3293184) | preONI 2008 | Cod sursa (job #1010537)
#include<fstream>
#include<string.h>
#include<iostream>
using namespace std;
int main()
{
fstream f,g;
f.open("papuci.in",ios::in);
g.open("papuci.out",ios::out);
int n,k,i,j,var1,var2,A[27][27],suma=0,nr,a,b,c,d,max;
char s[100001];
f>>n>>k;
for(i=0; i<n; i++)
f>>s[i];
for(i=1; i<=26; i++)
for(j=1; j<=26; j++)
f>>A[i][j];
for(i=0; i<n; i++)
suma=suma+A[(int)s[i]-96][(int)s[i+1]-96];
max=suma;
for(i=1; i<=k; i++)
{
f>>var1>>var2;
var1--;
var2--;
a=(int)s[var1]-96;
b=(int)s[var2]-96;
if(var1==0)
c=0;
else
c=(int)s[var1-1]-96;
if(var2==n-1)
d=0;
else
d=(int)s[var2+1]-96;
if(a!=b)
{
suma=suma-A[c][a]-A[a][b]-A[b][d]+A[c][b]+A[b][a]+A[a][d];
if(suma>max)
max=suma;
}
}
g<<max;
}