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))
#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;
}
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 |