Submission

Status:

-----P------PP--PP--

Subtask/Task Score:

25/100

Score: 25

User: Zailagend1

Problemset: Slowly Express

Language: cpp

Time: 0.002 second

Submitted On: 2026-06-20 17:16:14

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

typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<vi> vvi;
typedef vector<vll> vvll;
typedef vector<pii> vpii;
typedef vector<string> vs;
typedef unordered_map<int, int> umii;
typedef unordered_map<ll, ll> umll;
typedef unordered_set<int> usi;

#define pb push_back
#define mp make_pair
#define F first
#define S second
#define all(v) (v).begin(), (v).end()
#define rall(v) (v).rbegin(), (v).rend()
#define sz(v) (int)(v).size()

const int MOD = 1e9 + 7;
const int INF = 1e9;
const ll LINF = 1e18;

template<typename T> void _dbg(T t) { cerr << t; }
template<typename T, typename... Args> void _dbg(T t, Args... args) { cerr << t << ", "; _dbg(args...); }
#ifdef LOCAL
#define debug(...) do { cerr << "[" << #__VA_ARGS__ << "] = ["; _dbg(__VA_ARGS__); cerr << "]" << endl; } while(0)
#else
#define debug(...)
#endif

int main() {
    int n;
    int carry = 0;
    while(cin >> n){
      int result = 0;
      n += carry;
      carry = 0;
      if(n<0){return 0;}
      if(n < 500){result = 0;carry = n;}
      else if(n>=500){
        if(n % 800 < 500){
          result = n/800;
          carry = n%800;
        }else if(n%800 >= 500){
          result = n/800 + 1;
        }

      }
      cout << result << '\n';
    }
    return 0;
}