/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 2ms 512.0 KiB
#2 Accepted 2ms 552.0 KiB
#3 Wrong Answer 36ms 492.0 KiB
#4 Wrong Answer 61ms 796.0 KiB

Code

#include <bits/stdc++.h>
using namespace std;
#define SC               scanf
#define PF               printf
#define ull              unsigned long long
#define ld               long double
#define F                first
#define S                second
#define pb               push_back
#define sort_a(a)        sort(a.begin(),a.end());
#define sort_d(a)        sort(a.rbegin(),a.rend());
#define READ(f)          freopen(f, "r", stdin)
#define WRITE(f)         freopen(f, "w", stdout)
#define rev(s)           reverse(s.begin(),s.end())
#define P(ok)            cout << (ok ? "YES\n": "NO\n")
#define __Heart__              ios_base :: sync_with_stdio(false); cin.tie(NULL);
#define ll long long
typedef pair< ll , ll>                   PII;
void solve()
{
   ll n  , s  ; cin >> n >> s; ll a[n] ;
   for(int i = 0 ; i < n ; i++) cin >> a[i];
   ll Ans = INT_MAX , Low = 1 , High = 1e12 ;
   bool ok = 1 ;
   while(Low < High){
    ll X = Low + (High + 1) >> 1 ;
    ll curSum = 0 ;
    for(auto it : a) curSum += (it / X) ;
    if(curSum == s){
        ok = 0 ;
        Ans = min(Ans , X) ;
    }
    if(curSum > s) Low = X + 1 ;
    else High = X - 1 ;
    //cout << Low << " " << High << " " << X << " " << curSum << endl ;
   }
   if(ok) cout << -1 << "\n" ;
   else cout << Ans << "\n" ;


}
int main()
{
     __Heart__
   // READ("0in.txt") ;
    // WRITE("0out.txt") ;
     int t ; cin >> t ; while(t--) solve() ;
}

Information

Submit By
Type
Submission
Problem
P1057 Floor Sum
Language
C++17 (G++ 13.2.0)
Submit At
2024-10-16 16:23:50
Judged At
2024-11-11 02:36:41
Judged By
Score
10
Total Time
61ms
Peak Memory
796.0 KiB