# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
732817 | 2023-04-29T10:19:07 Z | vjudge1 | Spiderman (COCI20_spiderman) | C++14 | 310 ms | 17000 KB |
#include<iostream> #include<vector> #include<iomanip> #include<algorithm> #include<map> #include<set> #include<climits> #include<numeric> #include<queue> #include<unordered_map> #include<string> #include<climits> #include<unordered_set> #include<bitset> #include<cstring> #include<cmath> #include<stack> #if 1 #define pb push_back #define st first #define nd second #define endl '\n' #define fio ios_base::sync_with_stdio(false);cin.tie(NULL); #define MAXN ((int)(1e6+23)) #define int long long int using namespace std; const int inf = 1e17 + 5; #endif void fileio(string s){ #ifndef ONLINE_JUDGE freopen((s+string(".in")).c_str(),"r",stdin); freopen((s+string(".out")).c_str(),"w",stdout); #endif } signed main(){ //fileio("test"); //fio; int n, k; cin >> n >> k; vector<int>v(n + 1); map<int, int>m; int z = 0; for(int i = 1; i <= n; ++i){ cin >> v[i]; m[v[i]]++; if(v[i] > k)z++; } vector<int>s(MAXN); for(auto& p : m){ if(p.st <= k)continue; for(int i = p.st; i <= MAXN; i += p.st){ s[i] += p.nd; } } for(int i = 1; i <= n; ++i)v[i] -= k; for(int i = 1; i <= n; ++i){ if(v[i] < 0){ cout << 0 << ' '; } else if(v[i] == 0){ cout << z << ' '; } else{ int res = s[v[i]]; if(!k)res--; cout << res << ' '; } } cout << endl; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 16 ms | 8276 KB | Output is correct |
2 | Correct | 24 ms | 8216 KB | Output is correct |
3 | Correct | 75 ms | 9312 KB | Output is correct |
4 | Correct | 153 ms | 11540 KB | Output is correct |
5 | Correct | 186 ms | 15320 KB | Output is correct |
6 | Correct | 290 ms | 17000 KB | Output is correct |
7 | Correct | 159 ms | 15360 KB | Output is correct |
8 | Correct | 179 ms | 15288 KB | Output is correct |
9 | Correct | 310 ms | 16768 KB | Output is correct |
10 | Correct | 278 ms | 16824 KB | Output is correct |