#include <bits/stdc++.h>
using namespace std;
int main() {
// cout<<"GfG!";
int n;
cin>>n;
string light;
cin>>light;
vector<int > v1;
vector<int> v2;
for( int i=0; i<n; i++)
{
int x,y;
cin>>x>>y;
v1.push_back(x);
v2.push_back(y);
}
vector<int> p(n,0);
int count=0;
int count_max=0;
for( int j=0; j<n; j++)
{
if( light[j]=='1') count++;
}
count_max=count;
for( int i=1; i<10000; i++)
{
count=0;
for( int j=0; j<n; j++)
{
if( i%(v2[j]+p[j]*v1[j])==0 )
{
p[j]++;
if( light[j]=='0') light[j]='1';
else light[j]='0';
}
}
for( int j=0; j<n; j++)
{
if( light[j]=='1') count++;
}
count_max=max(count,count_max);
}
cout<<count_max<<endl;
return 0;
}
MAXBRIDGE Maximise the bridges | WLDRPL Wildcard Replacement |
1221. Split a String in Balanced Strings | 1002. Find Common Characters |
1602A - Two Subsequences | 1555A - PizzaForces |
1607B - Odd Grasshopper | 1084A - The Fair Nut and Elevator |
1440B - Sum of Medians | 1032A - Kitchen Utensils |
1501B - Napoleon Cake | 1584B - Coloring Rectangles |
1562B - Scenes From a Memory | 1521A - Nastia and Nearly Good Numbers |
208. Implement Trie | 1605B - Reverse Sort |
1607C - Minimum Extraction | 1604B - XOR Specia-LIS-t |
1606B - Update Files | 1598B - Groups |
1602B - Divine Array | 1594B - Special Numbers |
1614A - Divan and a Store | 2085. Count Common Words With One Occurrence |
2089. Find Target Indices After Sorting Array | 2090. K Radius Subarray Averages |
2091. Removing Minimum and Maximum From Array | 6. Zigzag Conversion |
1612B - Special Permutation | 1481. Least Number of Unique Integers after K Removals |