Submission
Status:
PPPPPPPPPPPPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Zailagend1
Problemset: Slowly Express
Language: cpp
Time: 0.003 second
Submitted On: 2026-06-20 17:25:00
#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;
vi results;
while(cin >> n){
int result = 0;
if(n<0){break;}
n += carry;
carry = 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;
}
}
results.pb(result);
}
for(int x:results){
cout << x << endl;
}
return 0;
}