UVa10038

題目:
https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=12&page=show_problem&problem=979

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
#include <vector>
#include <queue>
#include <algorithm>
#include <cmath>

using namespace std;

int main(){
int n;
vector<int> v;
priority_queue<int, vector<int>, greater<int>> pq;
while(cin >> n){
bool jolly = true;

v.clear();
while(!pq.empty()) pq.pop();

while(n--){
int num;
cin >> num;
v.push_back(num);
}

int diff;
for(int i=0; i<v.size()-1; ++i){
diff = abs(v[i] - v[i+1]);
pq.push(diff);
}

int size = pq.size();
for(int i=1; i <= size; ++i){
if(pq.top() != i){
jolly = false;
}
else pq.pop();
}

if(jolly) cout << "Jolly\n";
else cout << "Not jolly\n";
}
return 0;
}