1030C - Vasya and Golden Ticket - CodeForces Solution


implementation *1300

Please click on ads to support us..

Python Code:

n = int(input())
s = input()
 
for i in range(1,n):
    count = sum([int(j) for j in s[:i]])
    numbers = [s[:i]]
    counter = 0
    for j in s[i:]:
        if counter + int(j) < count: counter += int(j)
        elif counter + int(j) == count : counter = 0
        else: 
            counter = 1
            break
    if counter == 0:
        if s[i:].count("0") == len(s[i:]) and s.count("0") != len(s):
            print("NO")
            quit()
        print("YES")
        quit()
 
print("NO")

C++ Code:

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n; cin>>n;
    string s; cin>>s;
    bool flag = false;
    int sum = 0;
    for(int i=0; i<n; i++)
    {
        sum += s[i]-'0';
        if(i<n-1 && s[i] == '0') continue;
        int rSum=0, j=i+1;
        while(true)
        {
            while(j<n && (s[j]=='0' || rSum<sum)) rSum += s[j++]-'0';
            if(rSum != sum) break;
            else
            {
                if(j == n) flag = true;
                rSum = 0;
                if(flag) break;
            }
        }
    }
    cout<<(flag? "YES": "NO");
    return 0;
}


Comments

Submit
0 Comments
More Questions

1632C - Strange Test
673A - Bear and Game
276A - Lunch Rush
1205A - Almost Equal
1020B - Badge
1353A - Most Unstable Array
770A - New Password
1646B - Quality vs Quantity
80A - Panoramix's Prediction
1354B - Ternary String
122B - Lucky Substring
266B - Queue at the School
1490A - Dense Array
1650B - DIV + MOD
1549B - Gregor and the Pawn Game
553A - Kyoya and Colored Balls
1364A - XXXXX
1499B - Binary Removals
1569C - Jury Meeting
108A - Palindromic Times
46A - Ball Game
114A - Cifera
776A - A Serial Killer
25B - Phone numbers
1633C - Kill the Monster
1611A - Make Even
1030B - Vasya and Cornfield
1631A - Min Max Swap
1296B - Food Buying
133A - HQ9+