greedy implementation *900

Please click on ads to support us..

Python Code:

n, d = map(int, input().split())
music = list(map(int, input().split()))
time = 0
for i in range(n):
    time += music[i] + 10
time -= 10
if d < time:
    print(-1)
else:
    print((2*n-2) + ((d - time)//5))

C++ Code:

#include<bits/stdc++.h>
#define ll long long int
#define rep(i, a, b) for (ll i = a; i < b; i++)
#define pb push_back
#define ppb pop_back
#define pf push_front
#define ppf pop_front
#define ff first
#define ss second
#define as(v) v.begin(),v.end()
#define ds(v) v.rbegin(),v.rend()
#define mod 1000000007
#define dbgs(x) cout << #x << " " << x << endl;
#define dbgm(x) cout<<#x;cout<<" { ";rep(i,0,x.size()){cout<<x[i]<<" ";}cout<<"}";cout<<endl;
#define fast_io ios_base::sync_with_stdio(false);cin.tie(NULL)
using namespace std;

void solve() {
    ll n, m, d = 0; cin>> n >> m;
    rep(i, 0, n) {
        ll s; cin>> s;
        d += s;
    }
    d += (n - 1) * 10;
    if (d <= m) {
        cout<< (n - 1) * 2 + (m - d) / 5 << endl;
        return;
    }
    cout<< -1 << endl;
}
int main() {
    fast_io;
    ll t = 1;
    // cin>> t;
    while (t--) solve();
    return 0;
}





Comments

Submit
0 Comments
More Questions

1279A - New Year Garland
1279B - Verse For Santa
202A - LLPS
978A - Remove Duplicates
1304A - Two Rabbits
225A - Dice Tower
1660D - Maximum Product Strikes Back
1513A - Array and Peaks
1251B - Binary Palindromes
768B - Code For 1
363B - Fence
991B - Getting an A
246A - Buggy Sorting
884A - Book Reading
1180A - Alex and a Rhombus
445A - DZY Loves Chessboard
1372A - Omkar and Completion
159D - Palindrome pairs
981B - Businessmen Problems
1668A - Direction Change
1667B - Optimal Partition
1668B - Social Distance
88B - Keyboard
580B - Kefa and Company
960A - Check the string
1220A - Cards
897A - Scarborough Fair
1433B - Yet Another Bookshelf
1283B - Candies Division
1451B - Non-Substring Subsequence